您的位置 首页 java

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

工厂模式 简介

工厂模式的作用是屏蔽创建对象过程中的具体过程,以便提高创建对象过程的灵活性,使使用者不必关心构造对象的细节和复杂的过程。

工厂模式一般情况下分为三类:

1.简单工厂模式(Simple Factory

2.工厂方法模式(Factory Method)

3.抽象工厂模式(Abstract Factory)

在工厂模式中一般存在以下三个类型的角色,分别是产品类,工厂类和客户类。产品类就是最终产出的产品;工厂类就是生产产品的工厂;客户类就是最终产品的需求者。

一、简单工厂模式(Simple Factory)

简单工厂模式对上面提到的工厂模式中三个类型角色中的产品类进行了修改,把产品类进行了抽象,分成了抽象产品角色和具体产品角色,其他角色类不变。抽象产品角色一般是具体产品类需要继承的父类或者需要实现的接口,而具体产品角色就是工厂类中需要创建的产品实例。

代码实例:

1.产品类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

简单工厂模式中的产品类

2.工厂类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

简单工厂模式中的工厂类

3.客户类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

简单工厂模式中的客户类

二、工厂方法模式(Factory Method)

工厂方法模式对上面提到的简单工厂模式又进行了一部分修改,在简单工厂模式的基础上把工厂类进行了抽象,分成了抽象工厂角色和具体工厂角色。抽象工厂角色是工厂方法模式中的核心部分,是必须由具体工厂角色进行继承或者实现的父类或者接口。具体工厂角色在继承或者实现抽象工厂角色后在自己的内部做具体的业务逻辑。

代码实例:

1.产品类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

工厂方法模式中的抽象产品角色和具体产品角色

2.工厂类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

工厂方法模式中的抽象工厂角色和具体工厂角色

3.客户类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

工厂方法模式中的客户类

三、抽象工厂模式(Abstract Factory)

抽象工厂模式由于本人用的比较少,所以不做过多的解读,大家有什么自己的看法或者见解请在留言板或者私信中告诉我,废话少说直接上代码实例。(PS:以下代码实例是从网上找的,如果作者看到可以私信我,我会进行删除)

代码实例:

1.抽象工厂模式等级结构

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

抽象工厂模式中的等级结构

2.产品类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

抽象工厂模式中的产品类

3.工厂类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

抽象工厂模式中的工厂类

4.客户类

Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

抽象工厂模式中的客户类

结语

其实不管是简单工厂模式、工厂方法模式还是抽象工厂模式都需要根据自己的业务需求去做更改。我看到网上对工厂模式根据不同的实现还有很多解读。例如:多个工厂方法模式、静态工厂方法模式等。其实大的框架都大同小异,只是在实现部分做了一些修改。 比如多个工厂方法模式就是在工厂角色类中直接根据不同的产品生成去创建不同的多个方法去实现而不做逻辑判断。而静态工厂方法模式也是在工厂角色类中进行了修改,就是把多个工厂方法模式中的多个实现方法进行静态化。大家还有什么自己的具体实现可以在留言板或者私信告诉我,我会及时与大家进行互动。

欢迎对设计模式或者 Java 开发有兴趣的朋友关注本人头条号,以便大家持续阅读。如果大家有什么想看或者想了解的技术也可以留言板或者私信告诉我,我专门写文章出来与大家分享。

文章来源:智云一二三科技

文章标题:Java设计模式之工厂模式解析(Factory)-「Java工程师必须」

文章地址:https://www.zhihuclub.com/177513.shtml

关于作者: 智云科技

热门文章

网站地图