티스토리 뷰
관련성 있는 객체 집합을 생성하는 인터페이스를 제공하는 방법을 추상화 팩토리 패턴이라고 한다.
팩토리는 어떤 객체가 생성될지를 전담하는 패턴이지만, 추상화 팩토리는 어떤 분류의 객체 집합을 생성할 것인지를 정해주는 패턴이라 보면 된다.
class Character { //각종멤버 }; class User : public Character { //각종멤버 }; class Npc : public Character { //각종멤버 }; class Item { //각종멤버 }; class UserItem : public Item { //각종멤버 }; class NpcItem : public Item { //각종멤버 }; class ICharacterFactory { public: virtual Character *CreateCharacter() = 0; virtual Item *CreateItem() = 0; }; class UserFactory : public ICharacterFactory { virtual Character *CreateCharacter(){return new User;} virtual Item *CreateItem(){return new UserItem;} }; class NpcFactory : public ICharacterFactory { virtual Character *CreateCharacter(){return new Npc;} virtual Item *CreateItem(){return new NpcItem;} }; void Act(ICharacterFactory *pCharacterFactory) { Character * pCharacter = pCharacterFactory->CreateCharacter(); //처리코드 delete pCharacter; Item *pItem = pCharacterFactory->CreateItem(); //처리코드 delete pItem; }
'Software Engineering > Design Pattern' 카테고리의 다른 글
빌더 패턴 (Builder) (2) | 2008.02.03 |
---|---|
템플릿 메소드 패턴 (Template method) (0) | 2008.02.03 |
팩토리 메소드 패턴 (Factory Method) (0) | 2008.02.02 |
팩토리 패턴 (Factory) (3) | 2008.02.02 |
싱글턴 패턴 (Singleton) (0) | 2008.01.31 |
- Total
- Today
- Yesterday
- Ruby on Rails
- 루비 온 레일즈
- 바로가기 프로그램
- 조엘 온 소프트웨어
- 엘키
- TraceRoute
- 루비
- ruby
- EzShortcut
- CppSQLite
- 게임데브포에버
- 디자인 패턴
- MS-SQL
- 멀티스레드
- 디버깅
- perfmon
- 임백준
- SDL
- 게임개발포에버
- ftp
- Rails
- TDD
- 좋은 프로그래머
- EasyExec
- RoR
- c언어
- svn
- SQLite Spy
- NDC2013
- 리버스 엔지니어링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |