工厂方法模式 Factory Method

工厂方法模式 Factory Method

动机(Motivation)

  • 在软件系统中,常常面临着建立对象的工做;因为需求的变化,须要建立的对象的具体类型常常变化。
  • 如何应对这种变化?如何绕过常规的对象建立方法(new),提供一种“封装机制”来避免客户程序和这种“具体对象建立工做”的紧耦合?

模式定义

定义一个用于建立对象的接口,让子类决定实例化哪个类。Factory Method 使得一个类的实例化延迟(目的:解耦;手段:虚函数)到子类。——《设计模式》GoFjava

结构(Structure)

要点总结

  • Factory Method 模式用于隔离类对象的使用者和具体类型之间的耦合关系。面对一个常常变化的具体类型,紧耦合关系(new)会致使软件的脆弱。
  • Factory Method 模式经过面向对象的手法,将所要建立的具体对象工做延迟到子类,从而实现一种扩展(而非更改)的策略,较好地解决了这种紧耦合关系。
  • Factory Method 模式解决“单个对象”的需求变化。缺点在于要求建立方法/参数相同。

代码实现

工厂方法模式-示例代码git

相关文章
相关标签/搜索