Когда использовать Abstract Factory, а когда использовать Factory Method? - PullRequest
0 голосов
/ 13 января 2010

Может ли кто-нибудь дать мне четкие образцы, когда лучше использовать де AF, а не шаблон проектирования FM?

AF: Абстрактная фабрика FM: фабричный метод

Best

Ответы [ 2 ]

1 голос
/ 13 января 2010

Абстрактная фабрика - это когда вы хотите контролировать создание групп или семейств объектов, которые имеют взаимно-однозначное сопоставление между ними. например Окно может быть SwingWindow, AWTWindow или SomeGUIFrameworkWindow. аналогично у вас могут быть кнопки, панели, элементы управления, которые существуют в каждом семействе.
Вы бы использовали правильную реализацию абстрактной фабрики для создания правильного объекта. например если вы хотите поменять Swing на AWT, просто поменяйте местами заводской объект, и все остальное просто работает.

http://en.wikipedia.org/wiki/Abstract_factory_pattern (см. Пример)

Фабричный метод - это то место, где вы хотите контролировать создание объектов одного типа.

0 голосов
/ 13 января 2010
  • FM: чаще всего используется при десериализации: создавать классы на основе последовательного ввода.
  • AF: чаще всего используется, когда приложение имеет быть гибким, таким разным заводы могут дать разные поведение в приложений рамки.

Из моего ответа может быть ясно, что я более знаком с FM (на самом деле, параметризованный заводской метод, но у меня такое ощущение, что это наиболее часто используемый FM).

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