2011-02-10 4 views

답변

4

에 대한 공장 기본 아이디어는 함수가 알려진 기본 클래스에서 파생 된 힙 할당 된 객체를 반환한다는 것입니다 참조하십시오. 따라서 상황에 따라 dll에서 팩토리를 호출하는 주 응용 프로그램에 일부 코드가 있음을 알 수 있습니다. 알 수없는 동적 유형 및 구현의 객체를 되 돌리는 것이지만 특정 기본 클래스의 API 요구 사항을 충족한다는 것을 알 수 있습니다 . 그런 다음 해당 인터페이스를 통해 객체를 사용하고 아마도 가상 소멸자를 통해 객체를 삭제합니다. 실제 파생 클래스의 선택 방법에 따라 여러 가지 유형의 팩토리 메소드가 있지만 일반적으로 함수에 대한 일부 입력, IO 스트림 또는 XML 구조 등을 검사하고 적절한 유형을 산출합니다. 팩토리가 dll에 있는지 여부는 전체 모델에 실제로 영향을주지는 않지만 응용 프로그램을 다시 컴파일하지 않고도 파생 된 객체의 목록 및 구현을 쉽게 업데이트 할 수 있습니다.

자세한 내용은 http://en.wikipedia.org/wiki/Factory_method_pattern

3

팩토리 메서드는 생성 패턴입니다. 이 패턴은 객체를 생성하기위한 인터페이스를 모델링하는 데 도움이됩니다. 생성시 인터페이스를 통해 하위 클래스가 인스턴스화 할 클래스를 결정할 수 있습니다. 우리는 이것이 객체를 "제조"하는 책임이 있기 때문에 이것을 Factory Pattern이라고 부릅니다. 이 클래스는 관련 클래스 그룹에서 올바른 Object를 만들어 적절한 Subclass를 인스턴스화하는 데 도움이됩니다. 팩토리 패턴은 응용 프로그램 특정 클래스를 코드에 바인딩 할 필요가 없으므로 느슨한 결합을 촉진합니다.

공장 패턴에 대한 "객체를 생성하기위한 인터페이스를 정의하지만, 서브 클래스가을 인스턴스화하는 클래스 결정하도록 팩토리 메소드는 서브 클래스에 클래스 연기 인스턴스화 할 수 있습니다."모든입니다 따라서 "은 공장 방법이 있습니다 클래스가 서브 클래스에 인스턴스화를 지연 "합니다.

는이 One typical use of the Factory Pattern in a Component Object Model (COM) application

관련 문제