工厂模式,简单的说就是把创建对象的过程封装起来,封装到一个所谓的工厂中。根据封装程度分为:简单工厂模式、工厂方法模式、抽象工厂模式。


为了避免文章过于冗长,这篇主要讲解前两种模式,第三种留到下一篇讲解。


简单工厂类图:

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式

角色:

工厂:用来生产产品,描述工厂的整个流程,调用简单抽象工厂的方法生产产品。

简单抽象工厂:将new对象的过程封装在其中

抽象产品:一个抽象产品。

具体产品:继承抽象产品类。


应用:

工厂模式有一个工厂主线和产品主线,该实例为一个生产pizza的系统,

工厂:

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


简单抽象工厂:


Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


抽象产品:


Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


具体产品:

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


测试类:


Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式




为了迎合不用地区人民的不同口味,可以继承抽象工厂出现具体工厂,这样就成了工厂方法模式,,


类图:

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


角色:

抽象工厂:用来生产产品,描述工厂的整个流程,调用具体工厂的方法生产产品。

具体工厂:将new对象的过程封装在其中

抽象产品:一个抽象产品。

具体产品:继承抽象产品类。


应用:

在上面应用实例的基础上,把工厂变为抽象类,通过继承抽象工厂产生了两个New York风味的pizza和Chicago

风味的pizza。


抽象工厂:


Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


具体工厂:


Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


抽象产品:


Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


具体产品:


Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式


测试类:

Java设计模式之工厂模式(一):简单工厂模式+工厂方法模式

相关文章: