-
좋은 객체 설계
- 당장의 문제를 해결하는 것은 기본
- 나중에 생길 문제나 추가적인 요구사항도 수용할 수 있을 정도로 일반적이고 포괄적이여야 한다. -> 재설계 없이 혹은 최소한의 재설계로 다시 사용할 수 있어야 한다.
-
디자인 패턴의 목적 : 소프트웨어 설계에서 얻은 세세한 경험들을 기록해놓고, 필요할 때 마다 다시 사용하기 위해서
-
디자인 패턴의 구성요소
- 패턴 이름 : 한두 단어로 설계 문제와 해법을 서술한다.
- 문제 : 언제 패턴을 사용하는지를 서술한다.
- 해법 : 설계를 구성하는 요소들과 그 요소들간의 관계, 책임, 그리고 협력 관계를 서술한다.
- 결과 : 디자인 패턴을 통해 얻는 결과와 장단점을 서술한다.
-
스몰토크 MVC
- Model : 응용프로그램 객체
- View : 스크린에 모델을 디스플레이 하는 방법
- Controller : 사용자 인터페이스가 사용자 입력에 반응하는 방법을 정의
- 모델에서 뷰를 때어낸다 -> 변화하는 객체는 변화가 필요한 객체들을 알 필요없게 만든다 -> 감시자 패턴
- 뷰를 중첩해서, 똑같이 뷰 처럼 사용한다. -> 복합체 패턴
- 뷰가 컨트롤러의 서브클래스 인스턴스를 사용한다 -> 프로그램 실행중에도 입력 방식을 변경할 수 있다. -> 전략 패턴