Abstract Factory 패턴
정의
|
상황
|
그림의 공장은 이해를 돕기위한 용도로 Factory 클래스를 비유했다.
즉, APC 인형 아이템이란 재료를 Factory 클래스에 넣으면 APC가 생산되는 것이다.
코드
#include <iostream> class APC { virtual void Print() = 0; } class Soldoroseu :public APC { virtual void Print() { std::cout << "솔도로스 생성" << std::endl; } } class Paris :public APC { virtual void Print() { std::cout << "패리스 생성" << std::endl; } } class APCFactory { virtual APC* CreateAPC() = 0; } class SoldoroseuFactory :public APCFactory { virtual APC* CreateAPC() { return new Soldoroseu(); } } class ParisFactory :public APCFactory { virtual APC* CreateAPC() { return new Paris(); } } enum { Soldoroseu = 0, Paris = 1 } void main() { APCFactory* factory = NULL; APC* apc = NULL; int apcType = 0; switch(apcType) { case Soldoroseu: factory = new SoldoroseuFactory(); break; case Paris: factory = new ParisFactory(); break; } apc = factory->CreateAPC(); delete factory; delete apc; return 0; } |
장점
|
단점
|
군대 복무하면서 쓰기 참 힘들다..;ㅅ;
상황이 좀 잘못된 것같은데..재료를 넣으면 생산되는 경우의 수가 더 많은 상황을 만들어야했을 것같은데;
사진꺠졌닼ㅋㅋㅋㅋ
Singleton 패턴 (0) | 2016.10.22 |
---|---|
ProtoType 패턴 (0) | 2016.10.15 |
Cookie, Session 그대의 의미는.. (0) | 2015.10.29 |
URL과 URI 차이점 (0) | 2015.10.27 |
Unity Corutine (0) | 2015.10.19 |
댓글,
Lowpoly
게임 서버 프로그래머 지망생