본문 바로가기

Factory Method

(2)
Factory Method Pattern ② 팩토리를 패턴으로! 일단 객체를 생성하는 클래스라는 명목으로 팩토리 클래스에 대해서 배웠는데.. 그럼 패턴은 어디있는 것일까.. -_-; 먼저 이전에 보이던 다이어그램을 살펴보면 유닛을 생산하는(객체를 생성하는) 팩토리가 단 한개 뿐입니다. 게이트웨이에서만 유닛을 생산하지는 않죠. (스타에서 -_-;;) 게이트웨이 이 외에도 로보틱스 퍼실리티도 있고, 스타게이트도 있으니 추가를 시켜 줘야겠군요. 그러면 프로토스 유닛의 서브클래스들도 많아 지겠구요.. 일단 책에서는 팩토리 메소드 패턴을 공식적으로 이렇게 말하고 있습니다. 팩터리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만듭니다. 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브..
RTP Session 1. Replace Constructors with Creation Methods Replace Constructors with Creation Methods 하지만, 컴퓨터 생성자를 사용하면 둘중 하나만 구입하는 경우는 만들수가 없습니다. 왜냐면 사운드 카드를 추가하는 경우와 그래픽 카드를 추가하는 경우에 생성자 오버로딩의 원칙(타입과 갯수가 다른 경우)에 위배되기 때문입니다. 따라서 컴파일 에러가 발생합니다. 그럼 이런 경우에는 어떻게 해야될까요?? 참으로 난감한 일이 아닐 수 없습니다!! 책에 이런 내용이 있습니다. 이게 키워드가 될 수 있을까요? 어 떤 클래스의 인스턴스를 생성할 때 그것이 제공하는 여러 생성자 중 어떤 것을 호출해야 할지 결정하기가 어렵다면, 인스턴스를 생성해 리턴하는 생성 메서드(Creation Method)로 각 생성자를 대체하여 그 용도가 명확히 드러나도..