设计模式专题(八) ——模板方法模式

设计模式专题(八)

——模板方法模式

(原创内容,转载请注明来源,谢谢)

一、概念

1)含义

模板方法模式是为了让重复的内容都在父类实现,而避免重复。当完成某一细节层次一致的一个过程或者一系列步骤,其中个别步骤不同,则可以用模板方法模式进行处理。

模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类。模板方法使得子类可以不改变算法结构即可重定义算法的某些特定步骤。

2)优势

模板方法模式通过把不变行为搬移到父类,去除子类的重复代码。模板方法提供一个很好的代码复用平台。当不变的行为在可变的子类中出现,则可以把行为搬到单一的地方,子类摆脱重复的行为。

二、类图

三、运用场景

模板方法模式非常常用,在公司的大项目中,代码重复率往往也会作为考核指标。另外,大量重复的代码带来维护的不变,如果有需要修改的地方,容易有遗漏。

因此,模板方法模式通常用于总的父类,再让子类去继承。

例如,结合工厂方法模式,针对要实现的数据库实体,将数据库的连接、数据库的操作等,放在公共的类进行封装,再对每个具体的表格去实现实体。

此部分在工厂方法模式已经实现,不再赘述。

——written by linhxx 2017.08.01

相关阅读:

设计模式专题(七)——建造者模式

设计模式专题(六)——原型模式

设计模式专题(五)——工厂方法模式

设计模式专题(四)——代理模式

设计模式专题(三)——装饰模式

设计模式专题(二)——策略模式

设计模式专题(一)——面向对象的设计原则

原文发布于微信公众号 - 决胜机器学习(phpthinker)

原文发表时间:2017-08-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏积累沉淀

Java设计模式(六)----适配器模式

适配器模式 1、概述 2、适配器模式的用途 3、模式中的角色 4、实现方式 5、类适配器和对象适配器的权衡 6、缺省适配模式 1、概述  适...

1958
来自专栏更流畅、简洁的软件开发方式

面向对象的本质是什么?

  什么是面向对象的本质呢?   万物皆对象?No   抽象?No   复用?No   那到底是什么呢? 万物皆对象。问了几位网友,这是答复之一。看到了某个...

2589
来自专栏小勇DW3

通俗的理解java设计模式的准则

  原文链接:http://blog.csdn.net/lovelion/article/details/7536542

563
来自专栏LanceToBigData

OOAD-设计模式(二)之GRASP模式与GOF设计模式概述

一、GRASP模式(通用责任分配软件模式)概述 1.1、理解责任   1)什么是责任     责任是类间的一种合约或义务,也可以理解成一个业务功能,包括行为...

16110
来自专栏斑斓

面向接口设计与角色接口

问题:在做项目的时候,是不是所有包含非静态方法的类,都要写一个接口?是因为这样的目的是为了解耦,然后通过DI注入实现吗?

641
来自专栏互联网大杂烩

6大设计原则

所有引用基类的地方必须能透明地使用其子类对象。 只要父类能出现的地方子类就可以出现。

733
来自专栏Java技术

【面试题】2018年最全Java面试通关秘籍第五套!

注:本文是从众多面试者的面试经验中整理而来,其中不少是本人出的一些题目,网络资源众多,如有雷同,纯属巧合!禁止一切形式的碰瓷行为!未经允许禁止一切形式的转载和复...

711
来自专栏决胜机器学习

设计模式专题(十一)——抽象工厂模式

设计模式专题(十一)——抽象工厂模式 (原创内容,转载请注明来源,谢谢) 一、概述 抽象工厂模式(AbstractFactory),提供创建一系列相关或者相互...

3288
来自专栏平凡文摘

成为java高级程序员需要掌握哪些

813
来自专栏linux驱动个人学习

设计模式

一、设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面...

2705

扫描关注云+社区