이 두 패턴의 차이점에 대해 많은 게시물이 있지만, 찾을 수없는 것이 몇 가지 있습니다.
내가 읽은 내용에서 팩토리 메소드 패턴을 사용하면 단일 콘크리트 제품을 작성하는 방법을 정의 할 수 있지만 일반 제품을 볼 때 클라이언트에서 구현을 숨기는 방법을 알 수 있습니다. 첫 번째 질문은 추상 팩토리에 관한 것입니다. 하나의 콘크리트 객체가 아닌 콘크리트 객체 패밀리를 만들 수있는 역할이 있습니까 (사용중인 공장에 따라 다름)? 추상 팩토리는 호출하는 메소드에 따라 하나의 매우 큰 객체 또는 많은 객체를 반환합니까?
마지막 두 질문은 여러 곳에서 본 것을 완전히 이해할 수없는 작은 따옴표에 관한 것입니다.
두 가지 차이점 중 하나는 Abstract Factory 패턴을 사용하면 클래스가 컴포지션을 통해 객체 인스턴스화의 책임을 다른 객체에 위임하는 반면 Factory Method 패턴은 상속을 사용하고 원하는 객체 인스턴스화를 처리하기 위해 서브 클래스에 의존한다는 것입니다.
팩토리 메소드 패턴에는 ConcreteCreator가 인스턴스화 할 ConcreteProduct를 아는 것을 담당하는 Creator 인터페이스가 있습니다. 이것이 상속을 사용하여 객체 인스턴스화를 처리한다는 의미입니까?
이제 인용문과 관련하여 Abstract Factory 패턴은 컴포지션을 통해 객체 인스턴스화의 책임을 다른 객체에 얼마나 정확하게 위임합니까? 이것은 무엇을 의미 하는가? Abstract Factory 패턴도 상속을 사용하여 시공 프로세스를 수행하는 것처럼 보이지만 여전히 이러한 패턴에 대해 배우고 있습니다.
특히 마지막 질문에 대한 도움이 있다면 대단히 감사하겠습니다.