Basic/Design Pattern

#2 Abstract Factory Pattern in C++ (추상 팩토리 패턴 C++)

VallistA2016. 2. 16. 16:17



그림 1 : 팩토리 패턴의 예시 (사진 = 위키 백과)




추상 팩토리 패턴


예를 들어보도록 하자.

플레이스테이션 기계를 사려고 하는데, 가게가 집 앞에 여러군대가 있었다.


한 군데는 플레이스테이션 1,3 을 파는 곳이고 다른 한 군데는 플레이스테이션 2,4를 팔고 있었다.


이 것을 한번 코딩으로 짜보도록 하자.




소스코드


Playstation.h



PlaystationStore.h



Playstation.cpp



PlaystationStore.cpp



해당 소스코드를 참조만 하면 된다.





다이어그램


클래스는 위와 같이 나눠지는데, 여기서 주요로 봐야 할 것은 Playstation의 하위 객체의 관계도 이다.

보면 여러가지 것들이 나뉘어져 있는데. 보통 PlaystationStore1과 PlaystationStore2 둘다 각각 Playstation을 상속받게 하여 만드는게 기본이다.

하지만 필자는 귀찮아서... 한개로만 나뉘어서 만들었다.


소스코드를 보게되면 PlaystationStore1 에서는 2,4 버전만 팔게 되어 있고, PlaystationStore2에서는 1,3 버전만 팔게 되어있다.


Playstation 클래스는 여러가지 종류의 플레이 스테이션을 나열해놓았고, 그 나열해 놓은것을 각각 store에서 생산하도록 해놓은 간단한 코드이므로, 실 코드에 적용할 때에는 약간 생각이 필요할 수도 있다.

댓글

댓글쓰기 폼

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.

자고 싶습니다. ㅠㅠ

페이스북    :: 링크
카카오톡    :: kingbye1
Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today : 19

Total : 414,365

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘