일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 리눅스
- 운영체제
- SQL
- hyperledger
- K6
- 문법 정리
- c#
- 프로젝트
- oracle
- 백준 알고리즘
- 자바
- 파이썬
- 학점
- 오라클 디비
- 자바 프로젝트
- MongoDB
- JVM
- 알고리즘
- smart cast
- gradle
- 티스토리
- 초대장
- spring
- 유사코드
- auto configure
- resilience4j
- 오라클
- jsp
- dynamic query
- 파이썬 소스
- Today
- Total
모종닷컴
디자인 패턴4 - Factory Method Pattern 본문
- 팩토리 메소드 패턴에서 템플릿 메소드 패턴의 사용됨을 안다.
- 팩토리 메소드 패턴에서의 구조와 구현의 분리를 이해하고 구조와 구현의 분리의 장점을 안다.
빨간 구역은 framework 패키지
파란 구역은 concrete 패키지입니다.
설명에서도 템플릿 메소드가 나오듯이 두 가지 패턴이 굉장히 헷갈리는 패턴입니다.
강의 외에 두 가지가 차이가 잘 이해가 가지 않아서 좀 더 찾아본 결과 제 결론은 이렇습니다
템플릿 메소드 : 슈퍼클래스에서 로직의 흐름을 정하고, 서브클래스는 상속받은 로직의 흐름을 유지하고 , 기능을 구체화 시킵니다.
Ex)
로직의 흐름 : (A에서 B로 갈꺼다)
기능 정의 : C와 D를 거쳐 A에서 B로 간다, C와 E를 거쳐 A에서 B로 간다.
팩토리 메소드 : 서브클래스에서 오브젝트 생성 방법을 결정하는 것. 템플릿 메소드는 흐름이지만 팩토리 메소드는 오브젝트를 생성하는 것
Ex)
아이템을 만드는 과정 : ( a-b-c ) -> Item만듬 * 이 과정에서 (a-b-c)로직은 템플릿 item을 만든 다는 것은 펙토리
서브클래스 : (a - b - c) ->Item1을 만듬, (d - e - f) -> item2
[소스 : https://github.com/kimjongmo/DesignPattern/tree/master/04FactoryMethod]
[출처:https://www.youtube.com/watch?v=-gyoG-7MHLI&list=PLsoscMhnRc7pPsRHmgN4M8tqUdWZzkpxY&index=4]
'Programming > 디자인패턴' 카테고리의 다른 글
디자인 패턴6 - Prototype Pattern (0) | 2018.05.21 |
---|---|
디자인 패턴5 - Singleton Pattern (0) | 2018.05.21 |
디자인 패턴3 - Template pattern (0) | 2018.05.18 |
디자인 패턴2 - Adapter Pattern (0) | 2018.05.18 |
디자인 패턴1 - 전략 패턴 (0) | 2018.05.16 |