ITPub博客

首页 > 应用开发 > Java > 简单工厂模式和抽象工厂模式

简单工厂模式和抽象工厂模式

原创 Java 作者:山有木xi 时间:2020-03-11 16:11:48 0 删除 编辑

简单工厂模式,顾名思义,就是比较简单的一个模式,并且使用在业务比较简单的情况下,且具体产品不需要扩张

它由三种角色组成

  • 工厂类,是这个模式的核心,含有一定的逻辑和判断,根据逻辑不同,产生具体的工厂产品

  • 抽象产品:具体产品的父类

  • 具体产品:工具抽象产品类创建的具体产品类,具体实现某些产品的功能

例如:先创建一个工厂类:饮料类,然后创建抽象产品类,分为康师傅类和统一类,再建立各自具体产品类,饮料各继承康师傅和统一,最后在工厂类中调动各个产品的生产

在具体工厂中,各个具体产品类和其父类非常简单明了


抽象工厂模式,是简单工厂的进阶版,当你的产品需要多个产品线时,使用抽象工厂是更好的选择

它有四种角色组成

  • 抽象工厂类,声明了创建不同产品的方法

  • 具体工厂类,实现抽象工厂中定义的创建方法

  • 抽象产品类,为每种产品声明业务方法

  • 具体产品类,定义具体工厂生产的具体产品,并且实现抽象产品中定义的业务方法

在上面介绍的简单工厂模式中,我们发现,工厂是用来生产具体产品的,而在抽象工厂模式中,分为了抽象工厂和具体工厂

简单的来说,在抽象产品类中定义了所需要的生产线,然后在具体产品中实现所需要的生产线,定义了方法来实现生产线,在具体工厂中实现具体产品

抽象工厂模式相比于简单工厂模式,隔离了具体类的生成,使得客户并不需要知道什么被创建。由于这种隔离,更换一个具体工厂就变得相对容易。所有的具体工厂都实现了抽象工厂中定义的那些公共接口,因此只需改变具体工厂的实例,就可以在某种程度上改变整个软件系统的行为。另外,应用抽象工厂模式可以实现高内聚低耦合的设计目的,因此抽象工厂模式得到了广泛的应用。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917874/viewspace-2679657/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Android中动态注册
请登录后发表评论 登录
全部评论
Oracle OCA(Java),IBM高级工程师认证,中国软件行业人才(高级c语言),高级Android工程师,对数据库并发与性能调优也有一定了解

注册时间:2019-04-25

  • 博文量
    147
  • 访问量
    390769