1.정의
-생성할 개체의 형태가 정형화 되어 있지 않을 떄 생성할 개체에 대한 구체적인 형태를
파생 클래스에서 정의하는 패턴.
-뼈대에서 생성할 객체종류를 약속하고 개체 생성 매서드를 정의
-응용을 만들 때 생성할 객체를 구체적으로 구현.
2.시나리오
-아들은 EHCamera회사에 밤문한 이후 사진에 관심이 많아졌다.
-그리고 디지털 카메라의 많은 부분이 소프트웨어 기술을 사용한다는 것을 알고 프로그래밍에서
도 관심이 많아졌다.
-아들과 아버지는 프로그래밍에 대한 것들을 대화하면서 콘솔 응용의 뼈대를 만들었다.
=> 추상 응용 클래스에서 추상 뷰 클래스를 만든다.
-응용 파생 클래스에서 초기화,런,해제화를 진행하고 뷰 개체를 생성을 약속.
-초기화에서는 뷰 개체를 생성하는 메서드를 호출
-런에서는 사용자와 인터페이스를 통해 상호작용
-해제화는 뷰 객체를 삭제
=>용용을 만들 때 목적에 맞는 뷰 객체를 만드는 작업과 파생 클래스에 필요한 부분 정의
3.다이어 그램
-EHApp추상클래스와 IView 인터페이스는 뼈대를 담당하는 부분이다.
-EHApp 초기화.런,해제 메서드를 가지고 뷰 생성 메서드를 약속한다.
-IView 인터페이스는 보여주기 메서드를 약속한다.
-MyApp과 MyView는 뼈대를 기반으로 만든 파생클래스이다.
- MyApp클래스는 MyView 객체를 생성하고 뷰를 생성하는 메서드를 재정의한다.
4.구현
1)EHApp
-응용프로그램의 뼈대가 되는 추상클래스 .
-뷰를 생성,운용,초기화 부분을 메서드를 약속한다
2)Iview
-뷰 클래스의 뼈대가 되는 인터페이스.
-뷰는 사용자와 상호작용하는 부분을 약속한다.
3)MyView
-IView 인터페이스에서 상속받아 사용자와 상호작용하는 부분을 구현
4)MyApp
-EHApp에서 상속 받은 실제 응용할 파생클래스
5)테스트
-결과
'C# > GoF 디자인패턴' 카테고리의 다른 글
[GoF]5.단일체 패턴(Singleton Pattern) (0) | 2023.09.19 |
---|---|
[GoF]4.원형 패턴(ProtoType Pattern) (0) | 2023.09.16 |
[GoF]2.빌더 패턴(Builder Pattern) (0) | 2023.09.11 |
[GoF]추상 팩토리 패턴(Abstract Factory Pattern) (0) | 2023.09.06 |
들어가기 앞서 (0) | 2023.09.04 |