手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

Delphi模式编程之策略模式(上)

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
/入库单据抽象出来,在运行期动态组合单据的界面和行为。通过出/入库操作类,可以维护、查询、配置不同的行为类。抽象出的出/入库行为以策略类的方式封装了其对应的算法,以便完成不同类型的出入库单据的操作。这就显而易见地提高了系统的重用性和可扩展性,减低维护的难度。

14 策略模式的优势在于算法和环境的分离,两者可以独立演化

由此可见,策略模式适用于以下情形:

· 当许多相关的类之间的差异只在于其行为时。策略模式可以动态地让一个对象在许多行为中选择一种行为。

· 当实现一个目的有多种可选算法时,比如:你出于不同的利弊权衡考虑定义的那些算法(即相当于应用不同的策略)。这些具体的算法可以封装成抽象算法类的派生类,并享用该抽象算法类的统一接口。通过多态性,客户端只要持有一个抽象算法类的对象,就可以选用任何一个具体的算法。

· 当一个算法使用的数据不可以让客户端得知时。使用策略模式可以避免暴露复杂的与算法相关的数据结构。其实客户端也没有必要知道这些与算法相关的知识和数据。

· 当一个类定义有很多行为,且用多个条件语句来判断选择这些行为时。策略模式可以把这些行为转移到对应的具体策略类中,从而避免了难以维护的多重条件选择,体现了面向对象的编程思想。

1.2 结构与用法

策略模式的结构如 15所示,它包括了以下参与者:

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!