1.1 定义
简单工厂增加计算功能需要增加case语句修改工厂类。违背了开放封闭原则。
工厂方法模式:定义一个创建对象的接口,让子类决定实例化哪一个类。
1.2 类图
工厂模式:抽象出一个工厂父类,每一个功能做为一个子工厂。这时候要增加一个计算功能,要在计算类增加一个功能类,并且增加对应的工厂类。这样避免了改变工厂类,而是通过扩展的方法来新增功能。
简单工厂增加计算功能需要增加case语句修改工厂类。违背了开放封闭原则。
工厂方法模式:定义一个创建对象的接口,让子类决定实例化哪一个类。
工厂模式:抽象出一个工厂父类,每一个功能做为一个子工厂。这时候要增加一个计算功能,要在计算类增加一个功能类,并且增加对应的工厂类。这样避免了改变工厂类,而是通过扩展的方法来新增功能。