Двусторонний адаптер или адаптер с заводской сборкой?

Двусторонние или n-сторонние адаптеры улучшают прозрачность, позволяя клиентам использовать адаптер по-разному, но почему бы не объединить шаблон Factory Method с шаблоном Adapter и позволить клиенту запрашивать у AdapterFactory конкретный класс адаптации, который ему нужен?

Я полагаю, что фабричный метод упростит процесс и по-прежнему даст тот же эффект, что и n-way адаптер, верно?

Повышение качества Laravel с помощью принципов SOLID: Лучшие практики и примеры
Повышение качества Laravel с помощью принципов SOLID: Лучшие практики и примеры
Когда мы говорим о том, как сделать следующий шаг в качестве разработчика, мы должны понимать, что качество кода всегда является основным фокусом на...
Принципы SOLID - лучшие практики
Принципы SOLID - лучшие практики
SOLID - это аббревиатура, обозначающая пять ключевых принципов проектирования: принцип единой ответственности, принцип "открыто-закрыто", принцип...
0
0
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Двусторонний адаптер — это единая конкретная реализация, используемая несколькими клиентами. Нет выбора для какой-либо фабрики.

Также обратите внимание, что не существует такого понятия, как «фабричный шаблон». Слово «фабрика» описывает категорию множества (совершенно разных) творческих паттернов, как внутри, так и вне книги GoF.

Не могли бы вы поделиться некоторыми примерами или разъяснениями этой категории фабрик, я не слышал об этом в своем исследовании.

BobDidley 10.11.2022 05:11

Если вы читаете книгу GoF, вы увидите, что она определяет два отдельных фабричных шаблона. Таким образом, вы никогда не увидите, чтобы в книге использовалась фраза «Фабричный шаблон», потому что это было бы двусмысленно даже в рамках одной книги. Кроме того, в более поздних книгах (таких как Head First Design Patterns и Effective Java) опубликовано еще больше фабричных шаблонов, что делает фразу «фабричный шаблон» еще более двусмысленной. Спросите пятерых разработчиков, что такое Factory, и вы получите десять ответов. Слово само по себе настолько двусмысленно, что практически бессмысленно. О какой фабричной модели идет речь?

jaco0646 10.11.2022 15:44

Извините за путаницу. Я имею в виду шаблон Factory Method, более простую версию шаблона Abstract Factory. Я отредактировал исходный пост, чтобы отразить это.

BobDidley 11.11.2022 05:35

Для целей этого вопроса конкретный заводской дизайн не имеет большого значения; но для общих целей метод фабрики GoF абсолютно не является какой-либо версией абстрактной фабрики. Это два совершенно разных шаблона, не говоря уже о том, что Factory Method имеет множество реализаций, которые также отличаются.

jaco0646 11.11.2022 14:54

Другие вопросы по теме