设计模式之工厂方法模式

定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法把实例化推迟到子类。

来个类图

设计模式之工厂方法模式_第1张图片

示例代码部分

public abstract class Pizza{

    
    String name;
    String dough;
    String sauce;
    ArrayList topings= new ArrayList();


    void prepare(){

         System.out.println("name"+name);
         System.out.println("dough"+dough);
         System.out.println("sauce"+sauce);
         System.out.println("topings:");
        for(int i=0;i

抽象工厂定义:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

在来一个升级版抽象工厂的类图

设计模式之工厂方法模式_第2张图片

是时候总结一把了:工厂方法用继承创建对象,而抽象工厂通过对象的组合来创建。抽象工厂完美利用了依赖倒置原则,指导我们避免依赖具体类型,几个指导方针1变量不可以持有具体类的引用,2不要让类派生具体类3不要覆盖基类中实现的方法

你可能感兴趣的:(设计模式)