Head First设计模式 读书笔记-装饰者模式、工厂方法模式

2017-1-21

装饰者模式:

装饰者模式,通过递归调用上一层(所有层级继承同一个超类,递归调用方法相同)。

咖啡的例子


使用场景:

1、不修改原有类的基础上,新增功能。(比继承更优秀,避免类爆炸)

2、基本的功能或修饰经常变化或多重叠加。

可以用在权限、职务等上面。


工厂模式:

利用工厂模式来创建类,避免使用new,解耦。


工厂方法模式:

定义了一个创建对象的接口,由子类决定实例化的类是哪一个。工厂方法吧类的实例推迟到子类。

超类定义一个抽象的工厂方法,由子类去决定具体的创建过程。

超类中通过父类的使用,解耦具体创建的子类。

区别

简单工厂类:将创建封装起来。

工厂方法类:建立一个框架



依赖关系:

如果直接实例化一个类,就是在依赖他的具体类。


依赖倒置关系:


抽象工厂模式提供了一个借口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。


工厂方法模式,是通过继承一个有抽象创建方法的类,将创建延迟到子类去实现。

抽象工厂模式,是将一堆相关或者依赖的类,聚集起来,统一管理实现。(利用接口)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值