Head First设计模式读书笔记-第八章 templatePattern 模板模式

模板方法模式

好莱坞原则:别调用我们,我们会调用你。一种防止依赖腐败的方法,当高层组件依赖底层组件,而底层组件又依赖高层组件,而高层组件又依赖侧边组件,而侧边组件又依赖底层组件的时候,依赖腐败就发生了。

 

好莱坞原则和依赖倒置原则的区别:依赖倒置要求尽量避免使用具体类,多使用抽象类。好莱坞原则是创建框架或组件的一种技巧,创建一种弹性设计

定义

模板方法定义了一个算法步骤,并允许子类为一个或多个步骤提供实现

 

模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的一些步骤。

 

模板方法模式中默认不做事的方法称为钩子(hook)

示例

抽象父类中定义final方法,将final方法的子步骤延迟到子类中实现

第八章总结

1.模板方法定义了算法的步骤,把这些步骤的实现延迟到子类

2.模板方法的抽象类可以定义具体方法,抽象方法和钩子

3.好莱坞原则:将决策层放在高层模块中,以便决定如何以及何时调用低层模块

4.策略模式和模板方法模式都封装算法,一个用组合,一个用继承。

5.工厂方法是模板方法的一种特殊版本

 

模板方法:子类决定如何实现算法中的某些步骤

策略:封装可互换的行为,然后使用委托来决定要采用哪一个行为

工厂方法:由子类决定要实例化哪个具体类

OO基础

抽象、封装、多态、继承

OO原则

封装变化

多用组合、少用继承

针对接口编程、不针对实现编程

为交互对象之间的松耦合设计努力

对扩展开放,对修改关闭

依赖抽象,不依赖具体

只和亲密朋友谈话----最少知道原则

别找我,我会找你----好莱坞原则

OO模式

模板方法模式----在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值