做公司网站一般多少钱,石家庄网站开发费用,重庆网上中介服务超市,咸阳学校网站建设哪家专业文章目录 概述工厂模式简单工厂模式#xff1a;工厂方法模式抽象工厂模式小结 概述工厂模式
传统方式#xff1a;
简单工厂模式#xff1a; 简单工厂模式的设计方案: 定义一个可以实例化 Pizaa 对象的类#xff0c;封装创建对象的代码。 存在的问题#xff1a; 简单工厂… 文章目录 概述工厂模式简单工厂模式工厂方法模式抽象工厂模式小结 概述工厂模式
传统方式
简单工厂模式 简单工厂模式的设计方案: 定义一个可以实例化 Pizaa 对象的类封装创建对象的代码。 存在的问题 简单工厂模式创建不同的简单工厂类比如 BJPizzaSimpleFactory、LDPizzaSimpleFactory 等等.从当前 这个案例来说也是可以的但是考虑到项目的规模以及软件的可维护性、可扩展性并不是特别好
工厂方法模式 定义了一个创建对象的抽象方法由子类决定要实例化的类。工厂方法模式将对象的实例化推迟到子类。 抽象工厂模式
就是把工厂方法模式中各个工厂抽出抽象类实现
public interface AbsFactory {//让下面的工厂子类来 具体实现public Pizza createPizza(String orderType);
}public class PizzaStore {public static void main(String[] args) {// TODO Auto-generated method stub//new OrderPizza(new BJFactory());new OrderPizza(new LDFactory());}}//接收使用抽象工厂
public class OrderPizza {AbsFactory factory;// 构造器public OrderPizza(AbsFactory factory) {setFactory(factory);}
}小结
工厂模式的意义 将实例化对象的代码提取出来放到一个类中统一管理和维护达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。三种工厂模式 (简单工厂模式、工厂方法模式、抽象工厂模式)设计模式的依赖抽象原则
创建对象实例时不要直接 new 类, 而是把这个 new 类的动作放在一个工厂的方法中并返回。有的书上说变量不要直接持有具体类的引用。不要让类继承具体类而是继承抽象类或者是实现 interface(接口)不要覆盖基类中已经实现的方法。