Refactoring(inline class, Hide delegate, remove middle man)

1,363 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,363
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Refactoring(inline class, Hide delegate, remove middle man)

  1. 1. Inline Class Hide DelegateRemove Middle man charsyam@naver.com
  2. 2. Inline Class
  3. 3. OppositeExtract Class
  4. 4. 별일 없는 클래스는 그냥다른 클래스와 합치자!
  5. 5. 1. 어느 클래스를 어디로 집어 넣을지 결정한다.
  6. 6. TelephoneNumber Class 를 Person 클래스로 집어넣기로 결정한다. TelephoneNumber 클래스를 Person에서만 사용하고 다른 곳에서는 쓰지 않기 때문이다.
  7. 7. 2. 소스에서 선택된 클래스로 참조하는 부분을 이동할 클 래스로 변경한다.
  8. 8. 3. Build & Test당연히 실패한다.
  9. 9. 4. Move Method,Move Field 등으로 함수와 필드를 옮긴다.
  10. 10. 3,4 번을계속 반복한다.
  11. 11. Hide Delegate
  12. 12. OppositeRemove Middle Man
  13. 13. Encapsulation 을 위해서, 주요 처리하는 클래스를 외부에서 보지 못하도록 한다.
  14. 14. 1. Delegate 에 있는Method 를 Server 로 옮 깁니다.
  15. 15. 2. Client 는 Server 를호출 하도록 변경합니다.
  16. 16. 3. BUILD & TEST
  17. 17. 4. 더 이상 Client 에서delegate 코드를 사용하지 않으면 Server에서 Delegate를 주 는 부분을 제거한다.
  18. 18. Remove Middle Man
  19. 19. OppositeHide Delegate
  20. 20. 거의 모든 기능을 Delegate 에서만 처리하는 클래스가Middle Man 이 되어버린다.이를 제거하는 방법이 Remove Middle Man 이다.
  21. 21. 1. Delegate 를 던져주는 Accessor 를 만든다.
  22. 22. 2. Client 에서 사용하는method 를 delegate 를 사용하도록 변경한다.
  23. 23. 3. BUILD & TEST
  24. 24. Q&A
  25. 25. Thank You

×