이 포스트를 남긴 목적
- 첫번째 객체 팩토리를 좀 더 개선시키기 위해서
이 포스트의 준비물
- g++, make, gvim
- firefox 4 b8
- vmplayer
참조 링크
- http://minjang.egloos.com/2255385 - object님의 switch/if 관련 댓글
- http://kldp.org/node/29999 - kldp 노드
참조 문헌
- 안드레 알렉산드레스쿠 저. Modern C++ Design. 이기형 역.
Addiston-Wesley. 인포북. 초판 2003.07.30. Chapter8 page(331 ~ 337)
내용
어디를 리팩토링 할 것인가?
- switch 문을 없애고, 함수 맵을 사용한다. - 유지보수가 어려웠던 부분을 극복하기 위해서
맛보기 코드
해석
- animal_factory 클래스에서 생성 함수 포인터를 맵의 값으로 받는다.
- 이 값을 통해 객체를 생성한다.
단점
- 유지보수가 편해지긴 했으나, 타입에 종속적이여서, 아직 라이브러리로 만들수 없다.
- 라이브러리로 만들 경우 좋으점은, 다음 개발할 때, 더 쉬워지기 때문이다.
- 싱글턴으로만 사용 해야 한다.
- 만약 여러개를 사용된다면, 어떤 팩토리는 되고 어떤 팩토리는 안되는 먹기 힘든 음식을 먹게 될 것이다.
다음 포스트에서는 이 부분을 라이브러리로 뺄 수 있게, "일반화"를 거쳐 보도록 한다.
여담
- 집 주변에 10분 정도 걸어가면, 중형 마트가 하나 있는데, 베지밀 950ml를 1700원에 판다. :)
- 2년 전에도 1700원이 였는데...
:wq
'책 정리 > Modern C++ Design' 카테고리의 다른 글
8장, 객체 팩토리(Object Factory) - 8.3 객체 팩토리 - 일반화 시키기 (0) | 2010.12.26 |
---|---|
8장, 객체 팩토리(Object Factory) - 8.1 객체 팩토리란 무엇인가? (0) | 2010.12.25 |
6장, 싱글턴(Singleton)의 구현 - 6.2 싱글턴 패턴을 정책 기반(policy-based) 클래스로 디자인하기 - 쓰레드 정책 추가 (1) | 2010.12.18 |
6장, 싱글턴(Singleton)의 구현 - 6.1 싱글턴 패턴을 정책 기반(policy-based) 클래스로 디자인하기 (4) | 2010.12.14 |
6장, 싱글턴(Singleton)의 구현 - 5. 싱글턴이 쓰레드를 만났을 경우 고려사항 (0) | 2010.12.05 |
6장, 싱글턴(Singleton)의 구현 - 4. 피닉스 싱글턴(phoenix singleton)의 구현과 그 한계점 (2) | 2010.12.04 |
6장, 싱글턴(Singleton)의 구현 - 3. 마이어스 싱글턴(Singleton)의 한계와 개선점 (0) | 2010.12.03 |
6장, 싱글턴(Singleton)의 구현 - 2. 싱글턴(Singleton)의 기초적인 구현 (0) | 2010.11.30 |
6장, 싱글턴(Singleton)의 구현 - 1. 싱글턴(Singleton)이란 무엇인가? (0) | 2010.11.30 |
5장, 일반화 함수자(함수 객체) - 7. 총평 (0) | 2010.11.28 |
최근댓글