@ 디자인 패턴은 클래스 라이브러리가 아니다.
- 디자인 패턴은 클래스 라이브러리보다 더 일반적인 개념입니다. 클래스 라이브러리는 부품이 되는 프로그램을 의미하지만 디자인 패턴은 부품이 어떻게 조립되어 있고, 각각의 부품이 어떻게 관련해서 큰 기능을 발휘하는지를 표현한 것입니다.
@ 클래스 라이브러리 안에서 디자인 패턴이 사용되고 있다.
- java.util.lterator => Iterator 패턴 (여러 개를 나열해 갈 때 사용하는 인터페이스)
- java.util.Observer => Observer 패턴(오브젝트의 상태변화를 관찰하는 인터페이스)
- java.util.Calendar // java.security.SecureRandom // java.text.NumberFormat
=> Factory Method 패턴
- java.awt.Component // java.awt.Container => Composite 패턴
@ 프로그램을 완성품으로 보지 않는다.
- 디자인 패턴의 목표 중 하나는 프로그램의 재이용을 가능하게 하는 것입니다. 따라서 프로그램을 '완성품'으로 보지 말고 앞으로 '기능을 확장해 가는 것', '변경할 수 있는 것'으로 보기 바랍니다.
=> 어떤 기능이 확장될 가능성이 있는가?
=> 확장 기능을 수행할 때 수정이 필요한 클래스는 무엇인가?
=> 수정이 불필요한 클래스는 무엇인가?
@ 다이어그램은 보는 것이 아니라 읽는 것이다.
- 클래스 다이어그램은 첫째로 각각의 사각형(클래스)를 살펴보고, 둘째로 클래스 사이의 화살표를 확인합니다. 그래서 전체적인 의미를 이해하도록 합니다.
- 시퀀스 다이어그램은 시간 순서에 따라 이벤트를 하나씩 살펴보면 전체적으로 이해 할수 있습니다.
댓글 없음:
댓글 쓰기