Паттерн "Абстрактная Фабрика" предоставляет интерфейс для семейств взаимосвязанных объектов без указания их конкретных классов. Все фабричные паттерны обеспечивают слабую связанность за счет сокращения зависимости приложения от конкретных классов. Все фабрики инкапсулируют создание объектов. Абстрактная Фабрика основана на композиции: создание объектов реализуется в методе, доступ к которому осуществляется через интерфейс фабрики. Задача Абстрактной Фабрики - создание семейств взаимосвязанных объектов без зависимости от их конкретных классов. *Принцип:* - По возможности использовать абстракции в коде.