2010.12.25 22:54 책 정리/Modern C++ Design

이 포스트를 남긴 목적

  • 첫번째 객체 팩토리를 좀 더 개선시키기 위해서

이 포스트의 준비물

  • g++, make, gvim
  • firefox 4 b8
  • vmplayer

참조 링크

참조 문헌

  • 안드레 알렉산드레스쿠 저. Modern C++ Design. 이기형 역.
    Addiston-Wesley. 인포북. 초판 2003.07.30. Chapter8 page(331 ~ 337)

내용

어디를 리팩토링 할 것인가?

  • switch 문을 없애고, 함수 맵을 사용한다. - 유지보수가 어려웠던 부분을 극복하기 위해서

맛보기 코드


해석

  • animal_factory 클래스에서 생성 함수 포인터를 맵의 값으로 받는다.
  • 이 값을 통해 객체를 생성한다.

단점

  • 유지보수가 편해지긴 했으나, 타입에 종속적이여서, 아직 라이브러리로 만들수 없다.
    - 라이브러리로 만들 경우 좋으점은, 다음 개발할 때, 더 쉬워지기 때문이다.

  • 싱글턴으로만 사용 해야 한다.
    - 만약 여러개를 사용된다면, 어떤 팩토리는 되고 어떤 팩토리는 안되는 먹기 힘든 음식을 먹게 될 것이다.

다음 포스트에서는 이 부분을 라이브러리로 뺄 수 있게, "일반화"를 거쳐 보도록 한다.

여담

  • 집 주변에 10분 정도 걸어가면, 중형 마트가 하나 있는데, 베지밀 950ml를 1700원에 판다. :)
    - 2년 전에도 1700원이 였는데...

:wq

저작자 표시
신고
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요