SlideShare a Scribd company logo
Refactoring
cecil
Contents
โ€ข๋ฆฌํŒฉํ† ๋ง
ย ์˜ˆ์ œ
ย 
โ€ข๋ฆฌํŒฉํ† ๋ง์˜
ย ์›๋ฆฌ
ย 
โ€ข์ฝ”๋“œ์†์˜
ย ๋‚˜์œ
ย ๋ƒ„์ƒˆ
ย 
โ€ขํ…Œ์ŠคํŠธ
ย ๋งŒ๋“ค๊ธฐ
ย (pass)
๋ฆฌํŒฉํ† ๋ง
ย ์˜ˆ์ œ
ย 
(๋น„๋””์˜ค
ย ๊ฐ€๊ฒŒ
ย ํ”„๋กœ๊ทธ๋žจ)
์š”๊ตฌ์‚ฌํ•ญ
โ€ข๊ณ ๊ฐ์˜
ย ์š”๊ธˆ์„
ย ๊ณ„์‚ฐํ•˜๊ณ 
ย ์ธ์‡„
ย 
โ€ข์š”๊ธˆ
ย ๊ณ„์‚ฐ
ย 
โ€ข์ข…๋ฅ˜(๋ณดํ†ต,
ย ์–ด๋ฆฐ์ด์šฉ,
ย ์ตœ์‹ )์—
ย ๋”ฐ๋ผ
ย 
โ€ข๋Œ€์—ฌ
ย ๊ธฐ๊ฐ„์—
ย ๋”ฐ๋ผ
ย 
ย 
โ€ขํฌ์ธํŠธ
ย ์ ๋ฆฝ
ย 
โ€ข ์ตœ์‹ 
ย ์—ฌ๋ถ€์—
ย ๋”ฐ๋ผ
ย ํฌ์ธํŠธ
ย ๊ณ„์‚ฐ
public class Movie {
public static final int CHILDRENS = 2;
public static final int REGULAR = 0;
public static final int NEW_RELEASE = 1;
private String _title;
private int _priceCode;
public Movie(String title, int priceCode) {
_title = title;
_priceCode = priceCode;
}
public int getPriceCode() {
return _priceCode;
}
public void setPriceCode(int arg) {
_priceCode = arg;
}
public String getTitle (){
return _title;
}
}
class Rental {
private Movie _movie;
private int _daysRented;
public Rental(Movie movie, int daysRented) {
_movie = movie;
_daysRented = daysRented;
}
public int getDaysRented() {
return _daysRented;
}
public Movie getMovie() {
return _movie;
}
}
Movie
ย /
ย Rental
ย Class
์ผ๋ฐ˜์ ์ธ
ย getter,
ย setter
ย ๋ฉ”์†Œ๋“œ๋กœ
ย ๊ตฌ์„ฑ๋จ.

More Related Content

PDF
Rich domain model
PDF
แ„‹แ…ขแ„‘แ…ณแ†ฏแ„…แ…ตแ„แ…ฆแ„‹แ…ตแ„‰แ…งแ†ซ แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅแ„‹แ…ช แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ
PDF
แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผแ„Œแ…ฅแ†จแ„‹แ…ตแ†ซ แ„ƒแ…ฉแ„†แ…ฆแ„‹แ…ตแ†ซ แ„…แ…ฆแ„‹แ…ตแ„‹แ…ฅ แ„€แ…ฎแ„Žแ…ฎแ†จแ„’แ…กแ„€แ…ต
PDF
Reactแ„…แ…ฉ TDD แ„Žแ…ญแ„แ…ณแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
PDF
Es2015 Simple Overview
PDF
๊ฐ์ฒด ์ง€ํ–ฅ ๋ฐœ๋‹ด๊ทธ๊ธฐ JCO ์ปจํผ๋Ÿฐ์Šค 14ํšŒ
PDF
Mining the social web 6
PDF
แ„‹แ…ฐแ†ธแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„‡แ…ฎแ†ซแ„‰แ…ฅแ†จแ„’แ…กแ†จ Ch10. ์ˆจ๊ฒจ์ง„ ์›น๋ฐ์ดํ„ฐ ๋ถ„์„ ํ•จ์ •์„ ์œ„ํ•œ ์ตœ์ƒ์˜ ํ•ด๊ฒฐ์ฑ…
Rich domain model
แ„‹แ…ขแ„‘แ…ณแ†ฏแ„…แ…ตแ„แ…ฆแ„‹แ…ตแ„‰แ…งแ†ซ แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅแ„‹แ…ช แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ
แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผแ„Œแ…ฅแ†จแ„‹แ…ตแ†ซ แ„ƒแ…ฉแ„†แ…ฆแ„‹แ…ตแ†ซ แ„…แ…ฆแ„‹แ…ตแ„‹แ…ฅ แ„€แ…ฎแ„Žแ…ฎแ†จแ„’แ…กแ„€แ…ต
Reactแ„…แ…ฉ TDD แ„Žแ…ญแ„แ…ณแ†ท แ„†แ…กแ†บแ„‡แ…ฉแ„€แ…ต
Es2015 Simple Overview
๊ฐ์ฒด ์ง€ํ–ฅ ๋ฐœ๋‹ด๊ทธ๊ธฐ JCO ์ปจํผ๋Ÿฐ์Šค 14ํšŒ
Mining the social web 6
แ„‹แ…ฐแ†ธแ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅแ„‡แ…ฎแ†ซแ„‰แ…ฅแ†จแ„’แ…กแ†จ Ch10. ์ˆจ๊ฒจ์ง„ ์›น๋ฐ์ดํ„ฐ ๋ถ„์„ ํ•จ์ •์„ ์œ„ํ•œ ์ตœ์ƒ์˜ ํ•ด๊ฒฐ์ฑ…

Viewers also liked (6)

PDF
SICP_2.5 ์ผ๋ฐ˜ํ™”๋œ ์—ฐ์‚ฐ์‹œ์Šคํ…œ
PDF
C++ API ๋””์ž์ธ - ํ™•์žฅ์„ฑ
PDF
HTTP ์™„๋ฒฝ๊ฐ€์ด๋“œ 16์žฅ
PDF
Nodejs ํ”„๋กœ๊ทธ๋ž˜๋ฐ ch.3
PDF
Clean code Chapter.2
PDF
MiningTheSocialWeb.Ch2.Microformat
SICP_2.5 ์ผ๋ฐ˜ํ™”๋œ ์—ฐ์‚ฐ์‹œ์Šคํ…œ
C++ API ๋””์ž์ธ - ํ™•์žฅ์„ฑ
HTTP ์™„๋ฒฝ๊ฐ€์ด๋“œ 16์žฅ
Nodejs ํ”„๋กœ๊ทธ๋ž˜๋ฐ ch.3
Clean code Chapter.2
MiningTheSocialWeb.Ch2.Microformat
Ad

Similar to Refactoring_1_4 (20)

PDF
Legacy code refactoring video rental system
PPTX
Refactoring tutorial
PPTX
Refactoring tutorial 1์ฃผ์ฐจ[refactoring ๊ฐœ์š”]
PPTX
Refactoring Tutorial 1์ฃผ์ฐจ[ Refactoring ๊ฐœ์š”]
PPTX
Refactoring Tutorial 1์ฃผ์ฐจ[ Refactoring ๊ฐœ์š”]
PPT
์˜ˆ์ œ๋กœ ๋ง›๋ณด๋Š” ๋ฆฌํŽ™ํ† ๋ง ์—ฐ์Šต
PPTX
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)
PPT
Refactoring - Chapter 8.2
PDF
์”น๊ณ  ๋œฏ๊ณ  ๋ง›๋ณด๊ณ  ์ฆ๊ธฐ๋Š” ์ŠคํŠธ๋ฆผ API
PDF
2014.07.26 KSUG์™€ ์ง€์•ค์„ ์ด ํ•จ๊ป˜ํ•˜๋Š” ํ…Œํฌ๋‹ˆ์ปฌ ์„ธ๋ฏธ๋‚˜ - ์”น๊ณ  ๋œฏ๊ณ  ๋ง›๋ณด๊ณ  ์ฆ๊ธฐ๋Š” ์ŠคํŠธ๋ฆผ API(๋ฐ•์šฉ๊ถŒ)
PDF
5แ„Œแ…กแ†ผ แ„€แ…ขแ†จแ„Žแ…ฆแ„‹แ…ชแ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ
PPTX
Kth๊ฐœ๋ฐœ์ž ์„ธ๋ฏธ๋‚˜ 1ํšŒ
PDF
JDK ๋ณ€์ฒœ์‚ฌ
PDF
Java stream v0.1
PDF
Java stream v0.1
PPT
Ai C#์„ธ๋ฏธ๋‚˜
PDF
์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
PDF
Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
PPTX
[๋ช…์šฐ๋‹ˆ๋‹ท์ปด] 2๋ฒˆ์งธ ์ˆ™์ œ - ๋‘ ์ •์ˆ˜์˜ ์—ฐ์‚ฐ (๊ณต์—ฐ ์˜ˆ์•ฝ ์‹œ์Šคํ…œ)
PDF
Working with code
Legacy code refactoring video rental system
Refactoring tutorial
Refactoring tutorial 1์ฃผ์ฐจ[refactoring ๊ฐœ์š”]
Refactoring Tutorial 1์ฃผ์ฐจ[ Refactoring ๊ฐœ์š”]
Refactoring Tutorial 1์ฃผ์ฐจ[ Refactoring ๊ฐœ์š”]
์˜ˆ์ œ๋กœ ๋ง›๋ณด๋Š” ๋ฆฌํŽ™ํ† ๋ง ์—ฐ์Šต
์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค Chap.11 ๊ธฐ๋ณธ API ํด๋ž˜์Šค(java)(KOR)
Refactoring - Chapter 8.2
์”น๊ณ  ๋œฏ๊ณ  ๋ง›๋ณด๊ณ  ์ฆ๊ธฐ๋Š” ์ŠคํŠธ๋ฆผ API
2014.07.26 KSUG์™€ ์ง€์•ค์„ ์ด ํ•จ๊ป˜ํ•˜๋Š” ํ…Œํฌ๋‹ˆ์ปฌ ์„ธ๋ฏธ๋‚˜ - ์”น๊ณ  ๋œฏ๊ณ  ๋ง›๋ณด๊ณ  ์ฆ๊ธฐ๋Š” ์ŠคํŠธ๋ฆผ API(๋ฐ•์šฉ๊ถŒ)
5แ„Œแ…กแ†ผ แ„€แ…ขแ†จแ„Žแ…ฆแ„‹แ…ชแ„แ…ณแ†ฏแ„…แ…ขแ„‰แ…ณ
Kth๊ฐœ๋ฐœ์ž ์„ธ๋ฏธ๋‚˜ 1ํšŒ
JDK ๋ณ€์ฒœ์‚ฌ
Java stream v0.1
Java stream v0.1
Ai C#์„ธ๋ฏธ๋‚˜
์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
Java ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ฐœ ์›์น™
[๋ช…์šฐ๋‹ˆ๋‹ท์ปด] 2๋ฒˆ์งธ ์ˆ™์ œ - ๋‘ ์ •์ˆ˜์˜ ์—ฐ์‚ฐ (๊ณต์—ฐ ์˜ˆ์•ฝ ์‹œ์Šคํ…œ)
Working with code
Ad

More from HyeonSeok Choi (20)

PDF
แ„†แ…ตแ‡€แ„‡แ…กแ„ƒแ…กแ†จแ„‡แ…ฎแ„แ…ฅแ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„‚แ…ณแ†ซแ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผ Ch05
PDF
แ„†แ…ตแ‡€แ„‡แ…กแ„ƒแ…กแ†จแ„‡แ…ฎแ„แ…ฅแ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„‚แ…ณแ†ซแ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผ Ch2
PDF
แ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ฅแ„…แ…ณแ†ฏแ„‹แ…ฑแ„’แ…กแ†ซแ„‰แ…ฅแ†ซแ„’แ…งแ†ผแ„ƒแ…ขแ„‰แ…ฎแ„’แ…กแ†จ1.2
PDF
แ„‹แ…กแ†ฏแ„€แ…ฉแ„…แ…ตแ„Œแ…ณแ†ท แ„Œแ…ฎแ†ผแ„‰แ…ตแ†ทแ„‹แ…ด แ„†แ…ฅแ„‰แ…ตแ†ซแ„…แ…ฅแ„‚แ…ตแ†ผ แ„€แ…กแ„‹แ…ตแ„ƒแ…ณ Ch04
PDF
แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผ แ„Œแ…ฆแ„ƒแ…ขแ„…แ…ฉแ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต Ch04
PDF
แ„†แ…ตแ‡€แ„‡แ…กแ„ƒแ…กแ†จแ„‡แ…ฎแ„แ…ฅแ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„‚แ…ณแ†ซแ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผ Ch05
PDF
ํ•จ์ˆ˜์  ์‚ฌ๊ณ  2์žฅ
PDF
7๊ฐ€์ง€ ๋™์‹œ์„ฑ ๋ชจ๋ธ - ๋ฐ์ดํ„ฐ ๋ณ‘๋ ฌ์„ฑ
PDF
7๊ฐ€์ง€ ๋™์‹œ์„ฑ ๋ชจ๋ธ 4์žฅ
PDF
Bounded Context
PDF
DDD Repository
PPTX
DDD Start Ch#3
PPTX
แ„‰แ…ตแ†ฏแ„†แ…ฎแ„…แ…ฉ แ„‡แ…ขแ„‹แ…ฎแ„‚แ…ณแ†ซ แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท แ„‰แ…ฅแ†ผแ„‚แ…ณแ†ผ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช Ch8
PPTX
แ„‰แ…ตแ†ฏแ„†แ…ฎแ„…แ…ฉ แ„‡แ…ขแ„‹แ…ฎแ„‚แ…ณแ†ซ แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท แ„‰แ…ฅแ†ผแ„‚แ…ณแ†ผ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช Ch7
PPTX
์‹ค๋ฌด๋กœ ๋ฐฐ์šฐ๋Š” ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ์ตœ์ ํ™” Ch6
PPTX
Logstash, ElasticSearch, Kibana
PPTX
แ„‰แ…ตแ†ฏแ„†แ…ฎแ„…แ…ฉแ„‡แ…ขแ„‹แ…ฎแ„‚แ…ณแ†ซแ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ทแ„‰แ…ฅแ†ผแ„‚แ…ณแ†ผแ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช Ch1
PDF
HTTP ์™„๋ฒฝ๊ฐ€์ด๋“œ 21์žฅ
PDF
HTTPS
PDF
HTTP ์™„๋ฒฝ๊ฐ€์ด๋“œ 6์žฅ.
แ„†แ…ตแ‡€แ„‡แ…กแ„ƒแ…กแ†จแ„‡แ…ฎแ„แ…ฅแ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„‚แ…ณแ†ซแ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผ Ch05
แ„†แ…ตแ‡€แ„‡แ…กแ„ƒแ…กแ†จแ„‡แ…ฎแ„แ…ฅแ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„‚แ…ณแ†ซแ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผ Ch2
แ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ฅแ„…แ…ณแ†ฏแ„‹แ…ฑแ„’แ…กแ†ซแ„‰แ…ฅแ†ซแ„’แ…งแ†ผแ„ƒแ…ขแ„‰แ…ฎแ„’แ…กแ†จ1.2
แ„‹แ…กแ†ฏแ„€แ…ฉแ„…แ…ตแ„Œแ…ณแ†ท แ„Œแ…ฎแ†ผแ„‰แ…ตแ†ทแ„‹แ…ด แ„†แ…ฅแ„‰แ…ตแ†ซแ„…แ…ฅแ„‚แ…ตแ†ผ แ„€แ…กแ„‹แ…ตแ„ƒแ…ณ Ch04
แ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผ แ„Œแ…ฆแ„ƒแ…ขแ„…แ…ฉแ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต Ch04
แ„†แ…ตแ‡€แ„‡แ…กแ„ƒแ…กแ†จแ„‡แ…ฎแ„แ…ฅแ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„‚แ…ณแ†ซแ„ƒแ…ตแ†ธแ„…แ…ฅแ„‚แ…ตแ†ผ Ch05
ํ•จ์ˆ˜์  ์‚ฌ๊ณ  2์žฅ
7๊ฐ€์ง€ ๋™์‹œ์„ฑ ๋ชจ๋ธ - ๋ฐ์ดํ„ฐ ๋ณ‘๋ ฌ์„ฑ
7๊ฐ€์ง€ ๋™์‹œ์„ฑ ๋ชจ๋ธ 4์žฅ
Bounded Context
DDD Repository
DDD Start Ch#3
แ„‰แ…ตแ†ฏแ„†แ…ฎแ„…แ…ฉ แ„‡แ…ขแ„‹แ…ฎแ„‚แ…ณแ†ซ แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท แ„‰แ…ฅแ†ผแ„‚แ…ณแ†ผ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช Ch8
แ„‰แ…ตแ†ฏแ„†แ…ฎแ„…แ…ฉ แ„‡แ…ขแ„‹แ…ฎแ„‚แ…ณแ†ซ แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท แ„‰แ…ฅแ†ผแ„‚แ…ณแ†ผ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช Ch7
์‹ค๋ฌด๋กœ ๋ฐฐ์šฐ๋Š” ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ์ตœ์ ํ™” Ch6
Logstash, ElasticSearch, Kibana
แ„‰แ…ตแ†ฏแ„†แ…ฎแ„…แ…ฉแ„‡แ…ขแ„‹แ…ฎแ„‚แ…ณแ†ซแ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ทแ„‰แ…ฅแ†ผแ„‚แ…ณแ†ผแ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช Ch1
HTTP ์™„๋ฒฝ๊ฐ€์ด๋“œ 21์žฅ
HTTPS
HTTP ์™„๋ฒฝ๊ฐ€์ด๋“œ 6์žฅ.

Refactoring_1_4