티스토리 뷰
관련성 있는 객체 집합을 생성하는 인터페이스를 제공하는 방법을 추상화 팩토리 패턴이라고 한다.
팩토리는 어떤 객체가 생성될지를 전담하는 패턴이지만, 추상화 팩토리는 어떤 분류의 객체 집합을 생성할 것인지를 정해주는 패턴이라 보면 된다.
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
- 루비
- 엘키
- SDL
- 임백준
- RoR
- 리버스 엔지니어링
- 멀티스레드
- svn
- 바로가기 프로그램
- CppSQLite
- SQLite Spy
- Rails
- 게임데브포에버
- TraceRoute
- 루비 온 레일즈
- perfmon
- c언어
- Ruby on Rails
- 디버깅
- 게임개발포에버
- NDC2013
- 좋은 프로그래머
- ruby
- 조엘 온 소프트웨어
- ftp
- 디자인 패턴
- EzShortcut
- TDD
- EasyExec
- MS-SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |