- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 안드로이드 스튜디오
- 파이썬
- Firebase
- 안드로이드
- 백준
- firebase google
- Java
- 정렬
- 로그인
- 프로그래밍 입문
- 구글 로그인
- 프로그래머스
- sql
- 자바
- python
- 동적할당
- til
- 배열
- 코딩테스트
- oauth
- android studio
- 컴퓨터공학과
- 연결리스트
- 자료구조
- 비주얼 베이직
- C++
- 알고리즘
- C언어
- 공유대학
Archives
코딩하는 해달이
[디자인 패턴] 팩토리 메서드 패턴 본문
Factory Method Pattern
객체 생성을 공장 클래스로 캡슐화 처리하여 대신 생성하게하는 디자인 패턴
클라이언트에서 직접 new 연산자를 사용해 객체를 생성하지 않고, 공장 클래스가 각 제품 객체를 전문으로 생성하게 만들고, 이를 상속하는 서브 공장 클래스의 메서드에서 여러가지 제품 객체 생성을 각각 책임지게하는 패턴이다.
또한 객체 생성에 필요한 과정을 템플릿 처럼 미리 구성해놓고, 전처리나 후처리를 통해 생성 과정을 다양하게 처리하여 객체를 유연하게 정할 수 있는 특징이 있다.
패턴 구조
Creator : 최상위 공장 클래스로서, 팩토리 메서드를 추상화하여 서브 클래스가 구현하도록함
- 객체 생성 처리 메서드(operation): 객체 생성에 관한 전,후처리를 템플릿화
- 팩토리 메서드(createProduct): 서브 공장 클래스에서 재정의할 객체 생성 추상 메서드
ConcreteCreator: 각 서브 공장 클래스로 클래스마다 맞는 제품 객체를 반환하도록 생성 추상 메소드를 재정의
Product: 제품 구현체를 추상화
ConcreteProduct: 제품 구현체
개인 과제를 진행하던 중 Operator클래스를 제네릭타입으로 분할하는 과정에서 로직이 복잡해 분할하기가 어려웠다
방법을 찾던 중 디자인패턴에 팩토리 메서드라는 패턴을 찾게되어 공부를하고 내용을 적용해보니 아래와 같은 다이어그램이 나왔다. 이를 통해 계산기를 보완해보려한다.
반응형
'개인 공부 > 디자인 패턴' 카테고리의 다른 글
[디자인 패턴] MVC 패턴 (0) | 2024.09.23 |
---|
Comments