赞
踩
定义:定义一个操作中的算法骨架
,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重新定义该算法的某些特定步骤。它是一种类行为型模式。
优点:
缺点:
钩子操作
,这样就只允许在这些点进行扩展。(写公有方法,已经定义好的公有模板,无需再子类中重写)
:定义了算法的骨架,按某种顺序调用其基本方法:
举例:出国留学手续一般经过以下流程:索取学校资料、提出入学申请、办理因私出国护照、出境卡和公证,申请签证、体验、订机票、准备行装、抵达目标学校等;其中有些业务对各个学校是一样的,但有些业务因学校的不同而不同。使用模板方法模式来实现。结构图如下:
定义:该模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。
优点:
缺点:
1.客户端必须理解所有策略算法的区别,以便适时选择恰当的算法类。
2. 策略模式造成很多策略类。
例子:关于大闸蟹菜的做法有很多种,本例以清蒸大闸蟹和红烧大闸蟹2种方法为例,介绍策略模式的应用。结构图如下:
在一个使用策略模式的系统中,当存在的策略很多时,客户端管理所有策略算法将变得很复杂,如果在环境类中 使用简单工厂模式来管理这些策略类将大大减少客户端的工作复杂程度,结构图如下:
接口可以用抽象类替代,反之不行;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。