Шаблон фабричного метода - PullRequest
3 голосов
/ 10 февраля 2011

Что именно является заводским методом? Как это можно реализовать с помощью dll?

Ответы [ 2 ]

4 голосов
/ 10 февраля 2011

Основная идея фабрики состоит в том, что функция возвращает выделенный в куче объект, полученный из известного базового класса. Таким образом, в вашей ситуации вы, вероятно, имели бы некоторый код в основном приложении, который вызывает фабрику в dll, возвращая объект неизвестного динамического типа и реализации, но вы будете знать, что он удовлетворяет требованиям API определенного базового класса , Затем вы используете объект через этот интерфейс и удаляете его через его предположительно виртуальный деструктор. Существует несколько типов фабричных методов в зависимости от того, как сделан выбор фактического производного класса, но обычно он проверяет некоторые входные данные для функции, поток ввода-вывода или структуру XML и т. Д. И разрабатывает соответствующий тип. Находится ли фабрика в dll или нет, это не имеет никакого значения для общей модели, но облегчает обновление списка и реализацию производных объектов без перекомпиляции приложения.

Подробнее см .: http://en.wikipedia.org/wiki/Factory_method_pattern

3 голосов
/ 10 февраля 2011

Фабричный метод - это творческий паттерн. Этот шаблон помогает моделировать интерфейс для создания объекта, который во время создания может позволить своим подклассам решать, какой класс создавать. Мы называем это фабричным шаблоном, поскольку он отвечает за «производство» объекта. Это помогает создать экземпляр соответствующего Подкласса, создав правильный объект из группы связанных классов. Фабричный шаблон способствует слабой связи, устраняя необходимость связывать классы приложений в коде.

Фабричный шаблон - это все о "Определите интерфейс для создания объекта, но позвольте подклассам решить, какой класс создать экземпляр . Метод Factory позволяет классу отложить создание экземпляра для подклассов" Таким образом: " Метод Factory позволяет классу откладывать создание экземпляров для подклассов ".

См. Это для Типичное использование фабричного шаблона в приложении модели объектной модели (COM)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...