工厂方法模式

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

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

实例解析:
现有连锁披萨店,设计一个框架。

逻辑图
类图

主函数代码:

//工厂方法模式
public class main {
    public static void main(String[] args) {
        PizzaStore  nyStore = new NYPizzaStore();
//        NYPizzaIngredientFactory nyPizzaIngredientFactory = new NYPizzaIngredientFactory();
       Pizza pizza = nyStore.orderPizza("cheese");
//        Pizza pizza1 = new CheesePizza(nyPizzaIngredientFactory);
        System.out.println("This is the pizza" + pizza.getName());
    }
}

具体代码

设计原则

  • 要依赖抽象,不要依赖具体类。(依赖倒置原则)

以下要点可帮助避免违反依赖倒置原则:
* 变量不可以持有具体类的引用(如果使用 new,就会持有具体类的引用)
* 不要让类派生自具体类(派生自具体类,就会依赖具体类。请派生一个抽象)
* 不要覆盖基类中已实现的方法(基类被是用来所有子类共享的,覆盖就没意义)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容