2012-03-22 5 views
1

팩토리 메소드의 목적은 생성자를 암시 적으로 호출하지 않도록 동적으로 선택된 서브 클래스의 인스턴스를 얻는 것을 돕는 것입니까? 그렇다면 왜 어떤 경우에는 각 하위 클래스마다 여러 팩토리 클래스가 사용됩니까? 올바른지 이해한다면 각 서브 클래스에 대해 해당하는 메소드의 메소드를 호출해야하므로 여기서 팩토리 메소드를 사용할 이유가 없습니다.여러 팩토리 클래스를 사용하는 이유는 무엇입니까?

답변

0

1) 다른 개발자가 자신의 공장 수업을 제공하는 것이 적절한 분산 응용 프로그램이있을 수 있습니다.

2) 의존성 주입을 사용하여 테스트 할 때 매우 유용합니다.

3) 서로 다른 알고리즘을 구현하지만 동일한 유형의 데이터 객체를 제공하는 여러 팩토리 클래스가 존재할 수 있습니다.

클래식 넷빈즈 예 :

JEditorPane.registerEditorKitForContentType 자신의 키트를 등록하려고 여러 모듈이있을 것으로 예상하고있다으로 MIME 타입 당 키트 을 등록 할 수 있습니다.

+0

1) 그 결과 지저분한 코드입니까? 2), 3) 하나의 공장과 동일합니다 – Sergey

+0

3) 단일 공장 클래스로 어떻게 달성 할 수 있습니까? 스위치 운영자가 많습니까? 그냥 궁금해서. – Flot2011

+0

하나의 공장을 가진 다른 방법, 무엇이 문제입니까? – Sergey

관련 문제