Каковы недостатки абстрактного шаблона фабричного дизайна?

Как обычно, чтобы построить проект с различными шаблонами проектирования, архитекторы всегда предпочитают выгодный вид именно этого шаблона проектирования. Но иногда нужно понять, какие должны быть нарушения и недостатки с точки зрения будущего расширения проекта. Я использую абстрактный дизайн фабрики шаблон сейчас дней. Я понял это, но не смог понять его недостатки, его ограничения, где он потерпит неудачу. Может ли кто-нибудь объяснить мне этот другой взгляд на шаблон проектирования абстрактной фабрики?

1 ответ

Во-первых, с любым шаблоном дизайна вы добавляете больше уровней абстракции и сложности, поэтому применяйте шаблон только тогда, когда боль от его отсутствия очевидна. Это похоже на идею Боба Мартина "Возьми первую пулю" и Натана Марца " Страдающе-ориентированное программирование".

В частности, в случае с Abstract Factory решение о том, какую фабрику использовать, принимается во время выполнения. Как правило, это делается в некотором коде, предназначенном для обеспечения правильной фабрики путем условного ветвления, основанного на некоторой ключевой части информации. Это означает, что по мере создания большего количества фабрик этот центральный пункт принятия решений должен быть изменен. Это раздражает.

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

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