工厂模式概念
-实例化对象,以工厂方法代替new操作 -包括工厂方法模式和抽象工厂模式 -抽象工厂模式是工厂方法模式的扩展
工厂模式的目的
-定义一个接口来创建对象,由子类来决定哪些类需要被实例化 -实例化的工作由子类实现 -面向接口编程而不面向实现
适用场景
-有一组类似的对象需要创建 -编码时无法预见需要创建哪种类的实例 -系统需要考虑扩展性,不依赖于产品类实例如何被创建、组合和表达的细节
模式产生的原因
-可能会因需求改变对象,但它却拥有稳定的接口,为此我们需要提供一种封装机制来隔离这个易变对象的变化,从而保持系统中其它依赖该对象不随需求的变化而变化。
实现步骤
-为产品设计统一的接口 -设计工厂类,在工厂类中获得产品,获得产品的方式可以采用反射方式 -利用反射时,类的全限定名过长可以采取利用properties的方式把全限定名做缩写的映射。
常见应用
-JDBC -spring beanfactory
工厂模式和抽象工厂模式
-工厂模式是极端的抽象工厂模式,抽象工厂模式是工厂模式的推广 -工厂模式用来创建一个产品的等级结构,抽象工厂模式用来创建多个产品的等级结构 -工厂模式只有一个抽象产品类,抽象工厂模式有多个抽象产品类
转载请注明原文地址: https://ju.6miu.com/read-6051.html