Sometimes хочется построить экземпляр одного из люкс классов, решив между классами в момент создания экземпляра. Для того, чтобы избежать дублирования принятия решений во всем мире создается экземпляр, нам нужен механизм для создания экземпляров связанных классов не обязательно знать, какие будут instantiated.Create класс абстрактная фабрика ответить экземпляры конкретных классов (обычно подклассы). Класс полученного Например, неизвестно клиенту в Abstract Factory.
Есть два типа Abstract Factory: простой абстрактный завод абстрактный класс определения методов заводских ответить экземпляров конкретных подклассов. Выбор, который подкласс для создания экземпляра полностью определяется, какой метод используется, и неизвестно, к клиенту. Вторая форма Abstract Factory является абстрактным классом определении общего протокола методов Factory. Бетонные подклассы абстрактного завода выполнять этот протокол, чтобы ответить экземпляров соответствующего набора классов. Нужно абстрагироваться от деталей реализации продукции -1.
Система должна быть независимой, как составные части его создаются, состоит и представлены. 2. Необходимо иметь несколько семей продукции - Система должна быть сконфигурирована с одним из нескольких семей продукции. 3. Необходимость соблюдения семей продуктов, которые должны быть использованы вместе - семейство связанных объектов продукт предназначен для использования вместе, и вы должны применять это ограничение. 4.
Необходимость скрывать реализации продукции и только настоящие интерфейсы - Вы хотите, чтобы обеспечить библиотеку классов продуктов, и вы хотите, чтобы показать только их интерфейсы, а не их реализации. Характеристики: 1. Абстрактный завод является объектом производитель. 2. Обычно это может привести к более чем один тип объекта. 3. Каждый объект, что он производит, как известно, приемник созданного объекта только через интерфейс этого объекта, а не фактическое конкретной реализации объекта. 4.
Различные типы объектов, которые абстрактный заво