设计模式之工厂模式

    xiaoxiao2021-04-16  30

    工厂方法模式:工厂父类(接口)负责定义产品对象的公共接口,而子类工厂则负责创建具体的产品对象。

    目的:是为了把产品的实例化操作延迟到子类工厂中完成,通过工厂子类来决定究竟应该实例化哪一个产品具体对象。

    工厂方法模式包含四个部分:

    1.抽象产品:产品对象同一的基类,或者是同一的接口。

    2.具体的产品:各个不同的实例对象类

    3.抽象工厂:所有的子类工厂类的基类,或是同一的接口

    4.具体的工厂子类:负责每个不同的产品对象的实际创建

    上代码: 动物接口:

    public interface Animal { public void speak(); }

    狗类

    public class Dog implements Animal{ @Override public void speak() { System.out.println("wang~"); } }

    猫类

    public class Cat implements Animal{ @Override public void speak() { System.out.println("miao~"); } }

    然后是工厂: 动物工厂

    public interface AnimalFactory { public Animal getAnimal(); }

    狗工厂

    public class DogFactory implements AnimalFactory { @Override public Animal getAnimal() { return new Dog(); } }

    猫工厂

    public class CatFactory implements AnimalFactory { @Override public Animal getAnimal() { return new Cat(); } }

    创建完毕,然后调用:

    public class testMain3 { public static void main(String[] args) { AnimalFactory animalFactory = new CatFactory(); Animal animal = animalFactory.getAnimal(); animal.speak(); } }

    具体的实现类,与具体的工厂类是一一对应的,这样的话,新添加动物的具体的类,就不需要修改动物工厂,只需要再添加一个具体工厂就行!

    OK,Done!

    转载请注明原文地址: https://ju.6miu.com/read-672400.html

    最新回复(0)