模板方法模式是类的行为模式。模板方法的用意是:将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。
模板方法中涉及到的角色:
<!-- [if !supportLists]-->一、
<!-- [endif]-->抽象模板角色
<!-- [if !supportLists]-->1.
<!-- [endif]-->定义了一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,它们是一个顶级逻辑的组成步骤;
<!-- [if !supportLists]-->2.
<!-- [endif]-->定义并实现一个模板方法。
<!-- [if !supportLists]-->二、
<!-- [endif]-->具体模板角色
<!-- [if !supportLists]-->1.
<!-- [endif]-->实现父类定义的一个或多个抽象方法它们是一个顶级逻辑的组成步骤
<!-- [if !supportLists]-->2.
<!-- [endif]-->每一个抽象模板角色都可以有任意多个具体模板角色与之对应。
“好莱坞原则”:
想要进军好莱坞,建立提交之后,所能做的就是等待,这些公司会说“不要给我们打电话,我们会打给你”,这个就是好莱坞原则。它的关键之处在于娱乐公司对这个事情的完全控制权。
“好莱坞原则”在模板方法模式中的体现是:子类可以替换掉父类的可变部分,但是子类却不可以改变模板方法所代表的顶级逻辑。
模板方法模式中的方法:
一、模板方法
一个模板方法是定义在抽象类中的,把基本操作方法组合在一起形成一个总算法或一个总行为的方法。
二、基本方法
1.
抽象方法:一个抽象方法由抽象类声明,由具体子类实现
2.
具体方法:一个具体方法由抽象类声明并实现,而子类并不实现或替换
3.
钩子方法:一个钩子方法由抽象类声明并实现,而子类会加以扩展。
分享到:
相关推荐
面向对象 软件架构 设计模式 软件分析 UML等所有方面的资料合集,英文原著
OO设计原则是设计模式的基础,该资源包括OOAD的设计原则 LSP OCP SRP ISP DIP原则及UML说明
用observer设计模式实现一个小例子程序 模拟awt的事件监听机制
这是我用C++语言编写,以OOAD思想设计的21点游戏,也就是BlackJack游戏,其中包含了源文件,只要在VC6.0中编译就可以运行!代码有注释,不可多得的好东西!!
OOAD 台湾 著名设计开发人员做的关系系统设计与分析的 PPT
面向对象课程设计资料集OOAD课设报告模版.doc
OOAD 面向对象程序设计课件 1_绪论.ppt 2_面向对象的分析技术.ppt 3_UML用例图(Use Case).ppt 4_UML类图.ppt 5_UML交互图、状态图、包图.ppt 6_OOA案例.ppt 7_面向对象的设计 .ppt 8_人机交互设计.ppt 9_控制器...
本书介绍了分析师必学的3种UML图:类图、用例图和序列图,以及3种最实用、最常用的OOAD概念和工具:事务模式、用例描述、BCE模式。通过贯穿全书的“酒店联合订房系统”案例,展示了这些图和OOAD工具的实际应用。本书...
OOAD 面向对象编程~~
面向对象分析设计 用例 领域模型 类图详细介绍
IBM原厂的OOAD教师用书,内容非常详细,容易读懂。
OOAD & UML 达内科技·项目部卢剑宇2007-11-29 一、基本内容: OOA/D 面向对象的分析与设计。方法论、哲学; 架构师、项目经理、设计人员 OOA ——Object Oriented Analysis 面向对象的分析,以业务为中心来分析解决...
OOAD课堂练习作业和代码
共7个, 01面向对象技术概述 02设计原则 03创建型设计模式 .....
我使用UML软件建模(OOAD)制作了一个图书借阅管理系统,里面包含用例图,类图与对象图,序列图,协作图,活动图,状态图,包图,构建图,部署图,凡是其有应该有的图,我都画的,这个只会多不会少
西北农林科技大学OOAD实习西北农林科技大学OOAD实习西北农林科技大学OOAD实习西北农林科技大学OOAD实习
OOAD作业 图书馆管理系统文档 用例规约 需求文档 分析模型 设计模型
对OOAD和UML指导思想的基本概述,欢迎大家下载学习,也希望各位继续完善
面向对象分析与设计 OOAD 设计模式 架构模式