模板模式方法--设计模式

**模板模式**是一种行为设计模式,它允许在父类中定义算法的骨架,而将一些具体步骤的实现延迟到子类中。这种模式主要用于在代码中定义一套算法的框架,并允许子类在不改变算法整体结构的情况下重定义特定的步骤。 ### 定义 模板模式的核心在于模板方法,这个方法在抽象类中定义,它定义了算法的主要步骤。这些步骤可能包括一些抽象方法,这些方法必须由子类实现,或者是一些具体方法,已经在抽象类中提供了实现。通过这种方式,模板方法可以控制子类的行为,确保它们遵循预设的算法流程。 ### 结构 1. **抽象模板(AbstractClass)角色**:定义了模板方法以及一些抽象方法或具体方法。模板方法通常是一个具体方法,它定义了算法的骨架,调用了其他方法来完成具体的步骤。抽象方法则由子类实现,以提供不同的行为。 2. **具体模板(ConcreteClass)角色**:继承自抽象模板,实现了抽象模板中定义的抽象方法,从而为模板方法提供具体的实现。每个具体模板可以有自己的实现方式,导致模板方法的执行过程有所不同。 ### 方法 - **模板方法**:这是核心方法,它在抽象类中定义并实现了一部分逻辑,然后将其他逻辑委托给抽象方法或钩子方法。 - **抽象方法**:在抽象类中声明,但没有实现,由子类提供具体实现。这些方法定义了模板方法中需要的步骤。 - **具体方法**:在抽象类中已经实现的方法,不需要子类重写,可以直接在模板方法中使用。 - **钩子方法**:在抽象类中定义的可选方法,子类可以选择是否覆盖。如果子类没有覆盖,那么钩子方法在模板方法中默认不做任何事情。 ### 优点 1. **封装变化**:模板模式封装了不变部分,将变化部分隔离,使得代码更易于维护和扩展。 2. **代码复用**:通过定义模板方法,可以避免代码重复,提高代码的复用性。 3. **遵循开闭原则**:对扩展开放,对修改关闭,因为添加新的算法只需要创建新的子类即可。 ### 应用场景 - **批量生产**:如在工业制造中,模板可以用于标准化生产流程。 - **文档生成**:如在Microsoft Office中,模板可以用来快速创建具有特定格式的文档。 - **网站开发**:网站管理系统如PHP的织梦系统、ASP的动易、新云等,都使用模板来快速搭建网站结构。 在实际编程中,模板模式常用于处理那些具有固定步骤,但某些步骤可能需要根据情况变化的情况,例如打印报告、数据库操作流程等。通过使用模板模式,我们可以保持代码的整洁,同时允许子类根据需求定制特定的步骤,达到灵活和可扩展的设计效果。
































剩余26页未读,继续阅读

- 寫給最愛的自己2014-06-05感觉讲的还是蛮细致的

- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据背景下的信息处理技术分析与研究.docx
- mssqlserver2000企业安装教程.doc
- 促进大数据发展行动纲要.doc
- 徐水职教中心计算机专业的教材建设及设计问题.docx
- 软件销售技巧销售话术.doc
- 软件测试技术基础CH.ppt
- 中小型餐厅无线监控网络一体化解决方案.doc
- 斜齿轮传动计算机辅助设计VB.doc
- 天津工程技术师范学院数控机床与编程试题库附答案.doc
- 基于百度文字识别 API 的身份证银行卡驾驶证行驶证快速识别工具
- 创新基金网络工作系统培训.docx
- 基于MATLAB的通信系统的方案设计书与仿真.doc
- 通信技术概论信号能量谱密度与功率谱密度.doc
- 大数据时代大学生思想政治教育探析.docx
- 计算机软件考试考生的报考动机研究.docx
- 电子商务(图书)微观环境研究分析.doc


