사용자 삽입 이미지
위와 같은 클래스다이어그램을 주고 개선시키라고 합니다. ㄷㄷㄷ;

영문판으로는 230쪽인데 한글판은 몇 페이진지 모르겠네요. 재밌을 것 같아서 EA로 그려봤습니다. 가장 신경써야 할 세 가지 원칙을 알려주었습니다.

  1. Interface :: 인터페이스 기반으로 프로그래밍 할 것.
  2. Encapsulation :: 여러번 나타나는 것은 Encapsulation으로 숨길 것.
  3. Change :: 오직 하나의 변화에 클래스가 영향을 받도록 설계할 것.

1. 이래야 클래스가 Flexibility를 유지할 수 있기 때문입니다.
2. 단순하게 프로퍼티를 private로 설정하는 것 만이 Encapsulation이 아니라는 것을 이 책 어딘가에서 설명했었습니다.(1장인가..)
3. 단인책임원칙 SRP(Single Role of Responsibilty 맞나;;)와 관련있는 내용입니다. 여러가지 변경 사유로 인해 하나의 클래스가 계속 바껴야 한다면, 그 클래스가 책임지고 있는 일이 너무 많기 때문입니다. 나눠줘야 합니다.

어려워요...OTL
데이트하고와서 한번 해봐야겠네요.

혹시 해보고 싶으신 분이 있을지 몰라서 파일을 올려봅니다.

gk2.EAP