В объектно-ориентированном программировании программирования нашей наиболее распространенной операцией является новый объект, но в процессе создания нового объекта возникнут некоторые проблемы, такие как нам необходимо обратить внимание на детали реализации создания нового объекта, инициализировать некоторые необходимые параметры и т. Д. Появление заводских моделей и абстрактных заводских моделей идеально решает эту проблему, позволяя нам больше не заботиться о создании объектов, но больше сосредоточиться на реализации бизнеса.
Функции:
1. Программисты создают объекты непосредственно с помощью заводских методов и больше не обращают внимания на детали создания объектов.
2. Скрытие деталей реализации объекта также способствует безопасности программы.
3. Уменьшите степень связи программы.
Приложения в разработке на уровне предприятия и общих структурах:
SessionFactory и т. Д. В Hibernate
Заводская модель классификация:
Простая заводская модель, наиболее часто используемая форма в разработке программы, конкретный код заключается в следующем:
Общедоступный класс Демо { /*** Демонстрационный класс - наш обычный класс операции. В этом классе нам не нужно заботиться о деталях реализации создания автомобилей*/ public static void main (string [] args) {car car = carfactory.createcar ("dz"); car.run (); Car Car2 = carfactory.createCar ("at"); car2.run (); }} интерфейс CAR {public void run ();} класс DZ реализует car {public void run () {System.out.println ("Volkswagen работает"); }} класс AT Imprements Car {public void run () {System.out.println ("Alto Car работает"); }} класс carfactory {public Static Car CreateCar (String Type) {if ("dz" .equals (type)) {System.out.println ("Создал автомобиль Volkswagen"); вернуть новый dz (); } if ("at" .equals (type)) {System.out.println ("создал автомобиль Alto"); вернуть новое в (); } return null; }}Режим фабрики метода легче развернуть, чем простой заводский режим, и нет необходимости изменять предыдущий код.
Общедоступный класс Демо { /*** Демонстрационный класс - наш обычный класс операции. В этом классе нам не нужно заботиться о деталях реализации создания автомобилей*/ public static void main (string [] args) {atfactory atfactory = new atfactory (); Dzfactory dzfactory = new dzFactory (); Автомобиль AT = ATFACTORY.CREATECAR (); CAR DZ = dzFactory.CreateCar (); at.run (); dz.run (); }} интерфейс CAR {public void run ();} класс DZ реализует car {public void run () {System.out.println ("Volkswagen работает"); }} класс AT Imprements Car {public void run () {System.out.println ("Автомобиль работает"); }} интерфейс carfactory {car createcar ();} class dzfactory реализует carfactory {public car createcar () {return new dz (); }} класс Atfactory реализует Carfactory {public Car CreateCar () {return new at (); }}Абстрактная фабрика метода шаблона:
открытый класс демонстрация {public static void main (string [] args) {car carfactory = new gdcarfactory (); Fdz fdz = carfactory.createfdz (); fdz.zhuansu (); }} интерфейс fdz {void zhuansu ();} класс GDFDZ реализует fdz {public void zhuansu () {System.out.println ("Высокоэффективная скорость двигателя"); }} класс ddfdz реализует fdz {public void zhuansu () {system.out.println ("низкая скорость двигателя медленная"); }} интерфейс zy {void shushidu ();} класс Gdzy реализует zy {public void shushidu () {System.out.println ("Высокие сиденья удобны"); }} класс ddzy реализует zy {public void shushidu () {System.out.println ("Низко-эндологичные места неудобны"); }} интерфейс lt {void mosundu ();} класс GDLT реализует lt {public void mosundu () {System.out.println ("Высококачественные шины не изношат"); }} класс ddlt реализует lt {public void mosundu () {System.out.println ("Низко-экологически чистые шины быстро"); }} интерфейс CAR {fdz createFdz (); Zy createzy (); Lt create ();} класс GdcarFactory реализует CAR {@Override public fdz createFdz () {return new gdfdz (); } @Override public zy createzy () {return new gdzy (); } @Override public lt create () {return new gdlt (); }} класс ddcarFactory реализует CAR {@Override public fdz createFdz () {return new ddfdz (); } @Override public zy createzy () {return new ddzy (); } @Override public lt create () {return new ddlt (); }}Сравнение трех методов:
1. Простой заводской режим: простой заводский режим прост в проектировании, с небольшим объемом кода, но плохая масштабируемость. Когда необходимо расширить, вам необходимо изменить предыдущий код.
2. Режим фабричного метода: сильная масштабируемость, но увеличивает сложность кода
3. Абстрактная заводская модель: модель абстрактной фабрики и заводская модель разные. Абстрактная заводская модель делит продукты на оценки, но заводская модель заключается в классификации продуктов. Чтобы привести пример автомобиля: заводская модель заключается в производстве различных типов автомобилей, таких как Audi и Volkswagen, в то время как абстрактная заводская модель делит один и тот же автомобиль на оценки. Например, оба Volkswagen, мы разделяем высококлассные автомобили и низкокачественные автомобили. С методологической точки зрения, абстрактный заводской шаблон больше похож на уточнение заводского образца. Один предназначен для разных продуктов, а другой нацелен на одно и то же семейство продуктов.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.