`
zsjg13
  • 浏览: 138906 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

简单工厂模式

 
阅读更多

简单工厂模式:是类的创建模式,又叫静态工厂方法模式。它由一个工厂对象决定创建出那一种产品类的实例。

 

工厂模式的几种形态:简单工厂、工厂方法(多态性工厂、虚拟构造子)、抽象工厂。

 

简单工厂模式就是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例。

 

简单工厂模式涉及到的角色:工厂、抽象产品,具体产品。

 

如果具体产品类彼此之间没有共同的商业逻辑,那么抽象产品角色可以由一个Java接口扮演。反之由一个抽象类扮演。

 

多个工厂方法:每个工厂类可以有多于一个的工厂方法,分别负责创建不同的产品对象。比如java.text.DateFormat类是其子类的工厂类,而DateFormat类就提供了多个静态工厂方法。

 

抽象产品角色的省略:如果只有一个具体产品的话,那么可以省略掉抽象产品角色。

 

工厂角色与抽象产品角色合并:在有些情况下,工厂角色可以由抽象产品角色扮演。如java.text.DateFormat抽象产品类同时是子类的工厂。

 

三个角色全部合并:如果抽象产品角色已经被省略,而工厂角色就可以和具体产品角色合并。换言之,一个产品类可以是自身的工厂。

 

单利模式与多例模式是建立在简单工厂模式的基础之上的,而且它们都要求工厂方法具有特殊的逻辑,以便能循环使用产品的实例。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics