模板方法模式(Template Method)

本文介绍了模板方法设计模式的基本概念及其实现方式。通过定义算法框架并允许子类重定义某些步骤,使得算法结构得以保持不变的同时实现了灵活性。文章还讨论了其优缺点。

(主要内容来自《设计模式之禅》)

一:定义

  定义一个操作中的算法框架,而将一些步骤延迟到子类。使得子类可以不改变一个算法的结构即可以重新定义该算法的

某些特定步骤。

  (注:这个模式很简单也很常用,我在认识这个模式以前已经多次使用。)

 

二:细节

  1.基本方法

   基本方法也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。

  2.模板方法

   可以有一个或几个,一般是一个具体方法,也即是一个框架,实现对基本方法的调度,完成固定逻辑。

 

三:Java实现

  通过一个Abstract抽象类实现, 基本方法表现为该抽象类的抽象方法----由子类实现,模板方法也就表现为该抽象类的非抽象方法----所有子类共享,但是子类可以重写。

 

四:优缺点

  1.优点:

    1.1封装不变部分,扩展可变部分

    1.2提取公共部分代码,便于维护

    1.3行为由父类控制,子类实现

  

  2.缺点

    一般抽象类负责声明最抽象的最一般的事物属性和方法,实现类完成具体的事物属性和方法。模板方法模式没有完全符合这一习惯。

转载于:https://www.cnblogs.com/naturelight/p/5566276.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值