참고 : 질문은 게시물 끝에 있습니다.
Abstract Factory vs Factory Method 에 관한 다른 stackoverflow 스레드를 읽었습니다 . 각 패턴의 의도를 이해합니다. 그러나 나는 그 정의에 대해 명확하지 않다.
팩토리 메소드는 객체를 만들기위한 인터페이스를 정의하지만 서브 클래스에서 인스턴스화 할 인터페이스를 결정할 수 있습니다. 팩토리 메소드는 클래스가 인스턴스화를 서브 클래스로 연기하도록합니다.
반대로 Abstract Factory는 구체적인 클래스를 지정하지 않고 관련 또는 종속 객체의 패밀리를 작성하기위한 인터페이스를 제공합니다.
- 존 페미 넬라
추상 공장 받는 매우 비슷 공장 방법 . 요점을 설명하기 위해 몇 가지 UML 클래스를 그렸습니다.
노트 :
- 이 다이어그램은 www.yuml.com 에서 제공 되므로 완벽하게 지향되지는 않습니다. 그러나 무료 서비스 :).
- 다이어그램이 완벽하지 않을 수 있습니다. 나는 여전히 GoF 디자인 패턴을 배우고 있습니다.
공장 방법 :
초록 팩토리 (멤버 1 명만) :
초록 공장 (더 많은 회원) :
질문 :
- 경우 추상 공장은 하나의 창조주와 하나 개의 제품을 가지고, 여전히입니다 추상 팩토리 패턴? (패밀리를 만들기위한 인터페이스)
- 캔 공장 방법 콘크리트 작성자는 인터페이스에서 만들 수 또는 클래스에서해야합니까? (클래스는 서브 클래스로 인스턴스화를 지연시킵니다)
- Abstract Factory가 하나의 작성자와 하나의 제품 만 가질 수있는 경우, Abstract Factory 와 Factory Method 의 유일한 차이점 은 전자의 작성자가 인터페이스이고 후자의 작성자는 클래스라는 것입니까?