Зачем использовать несколько заводских классов? - PullRequest
1 голос
/ 22 марта 2012

Разве цель фабричного метода не состоит в том, чтобы помочь получить экземпляры подклассов, которые выбираются динамически, чтобы вы не могли неявно вызывать их конструкторы?Почему тогда в некоторых случаях несколько фабричных классов используются для каждого из подклассов?Если я правильно понимаю, для каждого подкласса вы должны вызывать метод соответствующей фабрики, поэтому здесь нет причин использовать метод фабрики.

1 Ответ

0 голосов
/ 22 марта 2012

1) у вас может быть распределенное приложение, в котором для разных разработчиков имеет смысл предоставлять свои собственные фабричные классы.

2) оно очень удобно при тестировании с использованием внедрения зависимостей.

3) могут существовать несколько фабричных классов, которые реализуют разные алгоритмы, но предоставляют один и тот же тип объектов данных.

Классический пример NetBeans:

JEditorPane.registerEditorKitForContentType позволяет зарегистрировать набор для каждого типа mimeпоскольку ожидалось, что несколько модулей будут пытаться зарегистрировать свои собственные наборы.

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