设计模式之工厂模式

工厂模式包括工厂方法模式和抽象工厂模式。而抽象工厂模式是工厂方法模式的扩展。 数据库

在工厂模式下,咱们一般采用工厂方法来代替new来实例化对象。 编码

具体是如何作的呢? spa

首先,定义一个接口来建立对象,可是让子类来决定那些类须要被实例化。工厂方法把实例化的工做推迟到子类中去实现。 对象

应用场景 blog

  • 有一组相似的对象须要被建立。
  • 在编码中不能预见须要建立哪一种类的实例对象。
  • 系统须要考虑扩展性,不依赖产品实例如何被建立,组合和表达的细节。

工厂方法

客户端经过调用creator类中的factory方法,返回一个Iproduct对象,Iproduct是一个接口,它的子类具体实现为product1,product2…. 接口

抽象工厂模式

抽象工厂模式是工厂方法的一个扩展而已,将本来的creator抽象成接口,根据不一样的需求建立不一样的creator子类。工厂方法一般用来一个产品的等级结构,而抽象工厂一般用来建立多种产品的等级结构。 产品

JDBC很好的应用了工厂模式,为多种关系型数据库提供统一访问,结构以下: 扩展

优势

  • 系统能够在不修改具体工厂角色的状况下引进新的产品。
  • 客户端不用关心对象的建立。
  • 很好的利用了面向对象的多态特性。
相关文章
相关标签/搜索