java 设计模式之工厂模式

首先,工厂模式设计出来的作用就是为了不让客户看到产品的生产过程,只是最后拿到产品即可

 

本篇就军队生产过程为例,解释一下三种:简单工厂,工厂模式,抽象工厂;

 

1.简单工厂:

//1工厂类角色这是本模式的核心,含有一定的商业逻辑和判断逻辑,在爪哇中它往往由一个具体类实现

//2抽象产品角色:它一般是具体产品继承的父类或者实现的接口.在爪哇中由接口或者抽象类来实现。

//3.具体产品角色工厂类所创建的对象就是此角色的实例,在爪哇中由一个具体类实现
重要点 :   一个抽象产品类,多个具体产品类;   只有一个工厂类,而且是具体工厂类

 

2.工厂模式

//1抽象工厂类角色:这是本模式的核心,是具体工厂必须继承的接口或者继承的父类,在爪哇中由接口或者抽象类来实现

//2具体工厂类角色:含有一定的商业逻辑和判断逻辑,用以创建对应的具体产品对象,在爪哇中它往往由一个具体类实现

//3抽象产品角色:它一般是具体产品继承的父类或者实现的接口.在爪哇中由接口或者抽象类来实现。

//4.具体产品角色 :工厂类所创建的对象就是此角色的实例,在爪哇中由一个具体类实现


//重要点:
//一个抽象工厂类,衍生出多个具体工厂类   ;
//只有一个抽象产品类,衍生出多个具体产品类
//一个具体工厂对应只能生产一个具体产品类

 

三.抽象工厂

     抽象工厂和工厂模式不同的是,工厂模式无法去增加更多的产品大类(因为工厂模式中,每个具体工厂类只生产一个具体产品类,且只有一个抽象大的产品类,在本例体现就是:我不仅生产解放军,我还想生产新四军,那么这时候只有一个大抽象类是不够的的,还要加一个新四军抽象类) ; 而抽象工厂中,由于每个具体工厂能生产多个产品类(因为有多个抽象产品类);

从上述解释来看,抽象工厂其实就是工厂模式的衍生,因为包含了多个抽象产品类,能实现一个具体工厂实现多个产品类别;

 

//重要点:
//一个抽象工厂类,衍生出多个具体工厂类
//多个抽象产品类,衍生出多个具体产品类
//每个具体工厂类生产多个具体产品类

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值