반응형
0. 개요
1) 강의에서 배운 패턴중에 개인적으로 이해하기도 어렵고 잘 와닿지 않은 패턴이었다. 이 패턴을 공부하려는 분들은
이론적인 내용보다는 간단한 예제라도 코드를 통해 학습하는게 더 좋을 것 같다. 나는 음식 프랜차이즈 개념을 통해
이해하는게 좋았다.
1. 정의
1) 객체 생성용 인터페이스를 정의한다.
2) 서브클래스가 어떤 객체를 생성할 지 결정하도록 한다.
2. 문제
1) 필요한 클래스들을 모두 구현하고 클라이언트에서 new를 통해서 생성하는 것은 비효율적이다.
2) 클래스가 많아지거나 변경되면 클라이언트 측 변경이 많아짐
3. 해결방안
1) 객체를 생성하는 클래스들을 캡슐화하여 사용한다.
2) 클라이언트는 캡슐화된 인터페이스를 사용하여 목적에 맞는 객체를 생성한다.
4. 사용 예제
1) 피자 프랜차이즈 기업 : 포장이나 결제 등은 같지만, 피자 토핑이라던지 도우 같은 것은 나라별, 지역별로 다르다.
따라서 클라이언트는 팩토리 메소드를 통하여 피자 객체를 받고, 실제 객체를 생성하는 클래스는 다른 객체로 미룬다.
반응형
'Programming > Design Pattern' 카테고리의 다른 글
Command Pattern (0) | 2019.12.31 |
---|---|
Singleton Pattern (0) | 2019.12.30 |
Decorator Pattern 과제 (0) | 2019.12.27 |
Decorator Pattern (0) | 2019.12.27 |
Observer Pattern 과제 (0) | 2019.12.27 |