一、概念:
模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
Template Method Pattern: Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.
通俗来讲就是:定义一个父类,有父类定义接口规范,然后不同的行为在子类中实现。这样一方面提高了代码的复用性,另一方面还可以利用面向对象的多态性,在运行时选择一种具体子类。模板模式是一种基于继承的代码复用技术,是一种类行为型模式。模板模式应该是最简单的一种设计模式,只存在继承关系,代码也相对简单。
二、使用场景
模板模式和策略模式的不同点:
(1)策略模式的应用场景:
多个类的区别只是在于行为不同。
你需要行为的算法做很多变动。
客户端不知道算法使用的数据。
(2)模板模式的使用场景:
相同的算法放在一个类中(父类)将算法变化的部分放在子类中。
子类公共的算法放在一个公共类中,避免代码重复。
网友评论