工厂方法模式

作者: Kwee | 来源:发表于2016-07-27 11:59 被阅读126次
    工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。
    工厂方法让类把实例化推迟到了子类。
    
    抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
    

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

    逻辑图 类图

    主函数代码:

    //工厂方法模式
    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,就会持有具体类的引用)
    * 不要让类派生自具体类(派生自具体类,就会依赖具体类。请派生一个抽象)
    * 不要覆盖基类中已实现的方法(基类被是用来所有子类共享的,覆盖就没意义)

    相关文章

      网友评论

        本文标题:工厂方法模式

        本文链接:https://www.haomeiwen.com/subject/ksjojttx.html