В этой статье описывается метод реализации заводской модели модели проектирования Java. Поделитесь этим для вашей ссылки, следующим образом:
Заводская модель в основном обеспечивает переходной интерфейс для создания объектов, чтобы защитить и изолировать конкретный процесс создания объектов, чтобы достичь цели повышения гибкости.
Заводская модель разделена на три категории:
1) простая заводская модель: не способствует генерации серии продуктов;
2) фабричный метод: также известный как полиморфная фабрика;
3) Абстрактная заводская модель: также известная как набор инструментов, она производит семейства продуктов, но не способствует генерации новых продуктов;
1. Простая заводская модель
Простой фабричный режим также известен как режим статического фабрики. Переименуя, вы можете видеть, что этот шаблон должен быть очень простым. Его цель проста: определить интерфейс для создания объектов.
В простой заводской модели класс фабрики находится в центре создания экземпляров в класс продукта, который определяет, какой класс продукта должен быть создан, так же, как полицейский трафик стоит в потоке транспортных средств и решает выпустить транспортное средство, в каком направлении протекает. Давайте посмотрим на его композицию:
1) Заводская роль: это ядро этой модели, которая содержит определенную бизнес -логику и логику суждения. В Java это часто реализуется конкретным классом.
2) Роль абстрактного продукта: обычно это родительский класс, унаследованный конкретным продуктом или реализованным интерфейсом. Реализовано интерфейсами или абстрактными классами в Java.
3) Конкретная роль продукта: объект, созданный заводским классом, является экземпляром этой роли. Реализовано конкретным классом в Java.
2. Модель фабричного метода
Модель фабричного метода - это дальнейшая абстракция и продвижение простой заводской модели. В модели фабрики метода больше не определяется только одним фабричным классом, что класс продукта должен быть создан. Это решение передается подклассу абстрактной фабрики. Давайте посмотрим на его композицию:
1) Роль абстрактной фабрики: это ядро заводского метода, она не имеет ничего общего с приложением. Это интерфейс, который должен реализовать конкретную заводскую роль, или родительский класс, который должен быть унаследован. В Java он реализован абстрактными классами или интерфейсами.
2) Конкретная заводская роль: он содержит код, связанный с конкретной бизнес -логикой. Вызвано приложением для создания соответствующего конкретного объекта продукта.
3) Роль абстрактного продукта: это родительский класс, унаследованный конкретным продуктом или реализованным интерфейсом. В Java, как правило, есть абстрактные классы или интерфейсы для их реализации.
4) Конкретная роль продукта: объект, созданный конкретной заводской ролью, является примером этой роли. Реализовано конкретными классами в Java.
Заводской шаблон метода использует несколько подклассов, унаследованных от абстрактной фабричной роли, чтобы заменить «класс Бога» в простом заводском шаблоне. Как упомянуто выше, это будет иметь давление на объект; И это сделает структуру гибкой - когда генерируется новый продукт (то есть автомобиль Nouveau Riche), если он генерируется в соответствии с договором, предоставленным ролью абстрактного продукта и роли абстрактного завода, он может использоваться клиентом без необходимости модифицировать какой -либо существующий код. Видно, что структура заводской роли также соответствует принципу открытия и закрытия!
Код заключается в следующем:
// абстрактный продукт роль продукта Публичный интерфейс движущийся {void run ();} // Роль конкретной продукт. }} public Class Broom реализует перемещение {@Override public void run () {System.out.println ("Broom ......"); }} // Аннотация Фабрика публичного абстрактного класса Catherfactory {Abstract Moviable Create ();} // Специальный заводской публичный класс плоскости FANDENDS EXTEDNDSENDS ETHARKFACTORY {Public Moviable Create () {return New Slane (); }} public Class Broolfactory Extends athersfactory {public rowable create () {return new Broom (); }} // тест класса открытого класса {public static void main (string [] args) {atherfactory factory = new BroomFactory (); Подвижный m = factory.create (); M.Run (); }}3. Абстрактная заводская шаблон
Код выглядит следующим образом
// абстрактный фабричный класс публичный абстрактный класс AbstractFactory {public Abstract Apence createWelehicle (); Общественное абстрактное оружие Createeweapon (); Public Abstract Food CreateFood ();} // Concrete Factory Class, где еда, транспортное средство, оружие - абстрактные классы, открытый класс DefaultFactory Extends AbstractFactory {@Override public food createfood () {return new Apple (); } @Override public a Cantain createVehicle () {return new Car (); } @Override public wiron createeweapon () {return new ak47 (); }} // Тестовый класс открытый тест класса {public static void main (string [] args) {AbstractFactory f = new DefaultFactory (); Транспортное средство v = f.createvehicle (); v.run (); Оружие w = f.createweapon (); w.shoot (); Еда a = f. createfood (); a.printname (); }}В абстрактном заводском шаблоне абстрактный продукт может быть одним или несколькими, что формирует одно или несколько семейств продуктов. В случае только одного семейства продуктов абстрактная заводская шаблон фактически дегенерирует в заводском методе.
Суммировать:
(1) Простой заводской шаблон - создавать экземпляры других классов с помощью определенного класса. Родительский класс такой же, и родительский класс специфичен.
(2) Заводской шаблон метода заключается в том, что существует абстрактный родительский класс, определяющий публичный интерфейс, и подкласс отвечает за генерацию конкретных объектов. Цель этого состоит в том, чтобы задержать экземпляр класса на подкласс.
(3) Абстрактная заводская шаблон обеспечивает интерфейс для создания ряда связанных или взаимозависимых объектов без указания их конкретных классов. Он нацелен на иерархические структуры с несколькими продуктами. Модель метода завода направлена на иерархическую структуру продукта.
Для получения дополнительного контента, связанного с Java, читатели, заинтересованные в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Operation Dom Узел», «Краткое изложение Java File и Directory Commine» и «Советы по эксплуатации Java Cache»
Я надеюсь, что эта статья будет полезна для всех Java Programming.