際際滷

際際滷Share a Scribd company logo
Refactoring
Chapter # 7
企 螳 豈 襯  Refactoring
Index
 Move Method
 Move Field
 Extract Class
 Inline Class
 Hide Delegate
 Remove Middle Man
 Introduce Foreign Method
 Introduce Local Extension
Move Method & Move Field
 Move Method
 覃螳   企る慨 るジ 企れ 蠍磯レ  襷 
螻  蟆曙, 企 覃襯 るジ 企る 蟆譯朱 refactoring
蠍磯
 Move Field
 螳   企る慨 るジ 企れ   襷 
螻  蟆曙 企 襯 觜覯  るジ 企る 蟆譯朱
refactoring 蠍磯
蟆曙一 磯 Self Encapsulation 伎   蠍企. 讌襷
 覲 企れ 豈螻   覿覈 襷 螳 蠍
覲語 Refactoring 蠍磯
Extract Class & Inline Class
 Extract Class
 螳 企り  殊  企り 襷′ 螻  蟆曙, 
るゼ 覿襴螻 蠍磯レ 覿襴 refactoring 蠍磯
覓企Μ蟆 企るゼ 豢豢 覲企 螳  谿語^螳 殊企  , 企 覿覿 襴 螳煙 
企襴  . 螳蠍企 sub-typing  蟆.
 Inline Class
 Extract Class 覦 螳朱 讓手螻 讓手 覲企 蠍磯レ企手  蟆
譟一姶 讌  企り 蠍  , 企  企 企るゼ 譯
 るジ 企れ Merging 譯朱 refactoring 蠍磯
Merging  螻殊  企れ 谿語^螳 る inner class煙 牛 企 class襯  蟆
譬
Hide Delegate & Remove Middle Man
 Hide Delegate
 企 螳 企 企るゼ 牛 るジ 企るゼ 至 蠏語 蠍磯レ 伎
  ,  覃襯 牛 るジ 企れ 譟伎襯 蟆譯朱 refactoring 蠍
覯
 OOP 蟯 覲伎  襭(覲) 螻朱ゼ 豬  .
企 螻 企  レ 覿 覲企ゼ 譴 譯朱, 蠍 ク襴蟆 襷
れ 譯朱 
 Remove Middle Man
 Hide Delegate 覦 螳朱 企 企り Hide Delegate襯 覓 襷
 覲碁   broker 豌 覲伎 讌 , 企るゼ 覿襴
broker  蟇壱 refactoring 蠍磯
broker  朱 企 企れ 覲碁 豬讌(豈) 覿 る 蟲褐 蟇壱讌  讓
  蟆 螳.
Introduce Foreign Method & Introduce
Local Extension
 Introduce Foreign Method
 企るゼ      覦ク 蠍磯朱, 轟 覃
襯 豸′ 襷  豌 覯讌 語襦  伎  豺 企るゼ
覦 豌襴 襦  覦覯
 蠍磯  豢螳 覃 譯殊 煙 牛  螻 企 伎 轟 蟲朱 蟲
覿  蟆 牛.
 Introduce Local Extension
  覿螳ロ 轟 企れ 讌豺蟆 襷 Foreign Method襯 襷 豢螳
伎  蟆曙  蠍磯朱, 企 企るゼ 覦蟇磯 Wrapping
覃襯 豢螳 覦覯
Introduce Foreign Method 覦覲企 譬 覲危ク願 OOP 蟯 覲伎  覓企Μ螳  覦覯.
wrapper襯   覦  企至  蟆 譬蟾? 蟲褐 Wrapping 伎 
 蟆曙磯??
Ad

Recommended

Scala self type inheritance
Scala self type inheritance
Yong Joon Moon
Scala dir processing
Scala dir processing
Yong Joon Moon
れ梗 企 危危蠍 _Scala class understanding
れ梗 企 危危蠍 _Scala class understanding
Yong Joon Moon
Scala trait usage
Scala trait usage
Yong Joon Moon
Head first誤 1~13_覩_語
Head first誤 1~13_覩_語
HoJun Sung
Scala companion object
Scala companion object
Yong Joon Moon
15 swift 梶≡
15 swift 梶≡
Changwon National University
Scala block expression
Scala block expression
Yong Joon Moon
Scala implicit
Scala implicit
Yong Joon Moon
17 swift 梶
17 swift 梶
Changwon National University
Java extends
Java extends
Hyosang Hong
[Dev rookie]designpattern
[Dev rookie]designpattern
The c++ programming language 10 企 覦
The c++ programming language 10 企 覦
Java inner class
Java inner class
Hyosang Hong
Scala variable
Scala variable
Yong Joon Moon
Game programming patterns
Game programming patterns
QooJuice
覦ろ磯 3 2
覦ろ磯 3 2
jangpd007
Alessi
Alessi
覩殊 蟾
Introduce BANANA
Introduce BANANA
Yeo joo yeun
Yeo joo yeun
譯殊
Alessi
Alessi
覩殊 蟾
Story telling marketing
Story telling marketing
gjxogh
競殊危
競殊危
G2 park
觜一危一 蟆曙 襦 れ_豺伎伎ろ レ蟲
觜一危一 蟆曙 襦 れ_豺伎伎ろ レ蟲
Jayoung Lim
襴壱襴讀 觚ろ襴
襴壱襴讀 觚ろ襴
Seongwon Eun
4譟 蠍磯ppt 豕譬
4譟 蠍磯ppt 豕譬
G2 park
Design management case analysis
Design management case analysis
Boram Kim
覈 觜讀る 觚企(Sposumer)
覈 觜讀る 觚企(Sposumer)
Harry Kim
Design Management 2
Design Management 2
Yeji Shin
Refactoring -chapter 7,8-
Refactoring -chapter 7,8-
Kwang Jung Kim

More Related Content

What's hot (9)

Scala implicit
Scala implicit
Yong Joon Moon
17 swift 梶
17 swift 梶
Changwon National University
Java extends
Java extends
Hyosang Hong
[Dev rookie]designpattern
[Dev rookie]designpattern
The c++ programming language 10 企 覦
The c++ programming language 10 企 覦
Java inner class
Java inner class
Hyosang Hong
Scala variable
Scala variable
Yong Joon Moon
Game programming patterns
Game programming patterns
QooJuice
覦ろ磯 3 2
覦ろ磯 3 2
jangpd007
[Dev rookie]designpattern
[Dev rookie]designpattern
The c++ programming language 10 企 覦
The c++ programming language 10 企 覦
Java inner class
Java inner class
Hyosang Hong
Game programming patterns
Game programming patterns
QooJuice
覦ろ磯 3 2
覦ろ磯 3 2
jangpd007

Viewers also liked (12)

Alessi
Alessi
覩殊 蟾
Introduce BANANA
Introduce BANANA
Yeo joo yeun
Yeo joo yeun
譯殊
Alessi
Alessi
覩殊 蟾
Story telling marketing
Story telling marketing
gjxogh
競殊危
競殊危
G2 park
觜一危一 蟆曙 襦 れ_豺伎伎ろ レ蟲
觜一危一 蟆曙 襦 れ_豺伎伎ろ レ蟲
Jayoung Lim
襴壱襴讀 觚ろ襴
襴壱襴讀 觚ろ襴
Seongwon Eun
4譟 蠍磯ppt 豕譬
4譟 蠍磯ppt 豕譬
G2 park
Design management case analysis
Design management case analysis
Boram Kim
覈 觜讀る 觚企(Sposumer)
覈 觜讀る 觚企(Sposumer)
Harry Kim
Design Management 2
Design Management 2
Yeji Shin
Introduce BANANA
Introduce BANANA
Yeo joo yeun
Yeo joo yeun
譯殊
Story telling marketing
Story telling marketing
gjxogh
競殊危
競殊危
G2 park
觜一危一 蟆曙 襦 れ_豺伎伎ろ レ蟲
觜一危一 蟆曙 襦 れ_豺伎伎ろ レ蟲
Jayoung Lim
襴壱襴讀 觚ろ襴
襴壱襴讀 觚ろ襴
Seongwon Eun
4譟 蠍磯ppt 豕譬
4譟 蠍磯ppt 豕譬
G2 park
Design management case analysis
Design management case analysis
Boram Kim
覈 觜讀る 觚企(Sposumer)
覈 觜讀る 觚企(Sposumer)
Harry Kim
Design Management 2
Design Management 2
Yeji Shin
Ad

Similar to Refactoring #7 (20)

Refactoring -chapter 7,8-
Refactoring -chapter 7,8-
Kwang Jung Kim
The Introduction to Refactoring
The Introduction to Refactoring
蟾讌 Jintae Kim
Devon 2011-b-5 螻殊 蟇一 貊 る蠍
Devon 2011-b-5 螻殊 蟇一 貊 る蠍
Daum DNA
Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005
Ryan Park
Java_06
Java_06
Hong Hyo Sang
Refactoring(inline class, Hide delegate, remove middle man)
Refactoring(inline class, Hide delegate, remove middle man)
DaeMyung Kang
Refactoring tutorial
Refactoring tutorial
Bingu Shim
Refactoring Tutorial 1譯殊姶[ Refactoring 螳]
Refactoring Tutorial 1譯殊姶[ Refactoring 螳]
Bingu Shim
Refactoring Tutorial 1譯殊姶[ Refactoring 螳]
Refactoring Tutorial 1譯殊姶[ Refactoring 螳]
Bingu Shim
Proxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4U
sys4u
Refactoring tutorial 1譯殊姶[refactoring 螳]
Refactoring tutorial 1譯殊姶[refactoring 螳]
bbongcsu
Working with code
Working with code
JaeYeoul Ahn
HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1
Holub on-patterns-2-1
Holub on-patterns-2-1
襴襷 11 p389_p400
襴襷 11 p389_p400
Heo Seungwook
襦蠏碁覦 れ 讌 覦 Spring 蠍糾
襦蠏碁覦 れ 讌 覦 Spring 蠍糾
譴 螻
Python Programming: Class and Object Oriented Programming
Python Programming: Class and Object Oriented Programming
Chan Shik Lim
襴襷 8 p236_p243
襴襷 8 p236_p243
Heo Seungwook
Learn design pattern-1
Learn design pattern-1
Daniel Lim
Objective-C Runtime Programming Guide
Objective-C Runtime Programming Guide
Sung-Kwan Kim
Refactoring -chapter 7,8-
Refactoring -chapter 7,8-
Kwang Jung Kim
The Introduction to Refactoring
The Introduction to Refactoring
蟾讌 Jintae Kim
Devon 2011-b-5 螻殊 蟇一 貊 る蠍
Devon 2011-b-5 螻殊 蟇一 貊 る蠍
Daum DNA
Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005
Ryan Park
Refactoring(inline class, Hide delegate, remove middle man)
Refactoring(inline class, Hide delegate, remove middle man)
DaeMyung Kang
Refactoring tutorial
Refactoring tutorial
Bingu Shim
Refactoring Tutorial 1譯殊姶[ Refactoring 螳]
Refactoring Tutorial 1譯殊姶[ Refactoring 螳]
Bingu Shim
Refactoring Tutorial 1譯殊姶[ Refactoring 螳]
Refactoring Tutorial 1譯殊姶[ Refactoring 螳]
Bingu Shim
Proxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4U
sys4u
Refactoring tutorial 1譯殊姶[refactoring 螳]
Refactoring tutorial 1譯殊姶[refactoring 螳]
bbongcsu
Working with code
Working with code
JaeYeoul Ahn
HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1
Holub on-patterns-2-1
Holub on-patterns-2-1
襴襷 11 p389_p400
襴襷 11 p389_p400
Heo Seungwook
襦蠏碁覦 れ 讌 覦 Spring 蠍糾
襦蠏碁覦 れ 讌 覦 Spring 蠍糾
譴 螻
Python Programming: Class and Object Oriented Programming
Python Programming: Class and Object Oriented Programming
Chan Shik Lim
襴襷 8 p236_p243
襴襷 8 p236_p243
Heo Seungwook
Learn design pattern-1
Learn design pattern-1
Daniel Lim
Objective-C Runtime Programming Guide
Objective-C Runtime Programming Guide
Sung-Kwan Kim
Ad

Refactoring #7

  • 1. Refactoring Chapter # 7 企 螳 豈 襯 Refactoring
  • 2. Index Move Method Move Field Extract Class Inline Class Hide Delegate Remove Middle Man Introduce Foreign Method Introduce Local Extension
  • 3. Move Method & Move Field Move Method 覃螳 企る慨 るジ 企れ 蠍磯レ 襷 螻 蟆曙, 企 覃襯 るジ 企る 蟆譯朱 refactoring 蠍磯 Move Field 螳 企る慨 るジ 企れ 襷 螻 蟆曙 企 襯 觜覯 るジ 企る 蟆譯朱 refactoring 蠍磯 蟆曙一 磯 Self Encapsulation 伎 蠍企. 讌襷 覲 企れ 豈螻 覿覈 襷 螳 蠍 覲語 Refactoring 蠍磯
  • 4. Extract Class & Inline Class Extract Class 螳 企り 殊 企り 襷′ 螻 蟆曙, るゼ 覿襴螻 蠍磯レ 覿襴 refactoring 蠍磯 覓企Μ蟆 企るゼ 豢豢 覲企 螳 谿語^螳 殊企 , 企 覿覿 襴 螳煙 企襴 . 螳蠍企 sub-typing 蟆. Inline Class Extract Class 覦 螳朱 讓手螻 讓手 覲企 蠍磯レ企手 蟆 譟一姶 讌 企り 蠍 , 企 企 企るゼ 譯 るジ 企れ Merging 譯朱 refactoring 蠍磯 Merging 螻殊 企れ 谿語^螳 る inner class煙 牛 企 class襯 蟆 譬
  • 5. Hide Delegate & Remove Middle Man Hide Delegate 企 螳 企 企るゼ 牛 るジ 企るゼ 至 蠏語 蠍磯レ 伎 , 覃襯 牛 るジ 企れ 譟伎襯 蟆譯朱 refactoring 蠍 覯 OOP 蟯 覲伎 襭(覲) 螻朱ゼ 豬 . 企 螻 企 レ 覿 覲企ゼ 譴 譯朱, 蠍 ク襴蟆 襷 れ 譯朱 Remove Middle Man Hide Delegate 覦 螳朱 企 企り Hide Delegate襯 覓 襷 覲碁 broker 豌 覲伎 讌 , 企るゼ 覿襴 broker 蟇壱 refactoring 蠍磯 broker 朱 企 企れ 覲碁 豬讌(豈) 覿 る 蟲褐 蟇壱讌 讓 蟆 螳.
  • 6. Introduce Foreign Method & Introduce Local Extension Introduce Foreign Method 企るゼ 覦ク 蠍磯朱, 轟 覃 襯 豸′ 襷 豌 覯讌 語襦 伎 豺 企るゼ 覦 豌襴 襦 覦覯 蠍磯 豢螳 覃 譯殊 煙 牛 螻 企 伎 轟 蟲朱 蟲 覿 蟆 牛. Introduce Local Extension 覿螳ロ 轟 企れ 讌豺蟆 襷 Foreign Method襯 襷 豢螳 伎 蟆曙 蠍磯朱, 企 企るゼ 覦蟇磯 Wrapping 覃襯 豢螳 覦覯 Introduce Foreign Method 覦覲企 譬 覲危ク願 OOP 蟯 覲伎 覓企Μ螳 覦覯. wrapper襯 覦 企至 蟆 譬蟾? 蟲褐 Wrapping 伎 蟆曙磯??