Jul
20
五、策略模式
策略模式(Strategy Pattern)指的是程序中涉及决策控制的一种模式。其定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换,使得这些算法在客户端调用它们的时候能够互不影响地变化。
在该模式中,算法是从复杂类提取的,因而可以方便地替换。策略模式通常通过定义一个抽象的基类,然后根据情况的不同创建不同的类来实现这个基类。接下来,根据实际情况的判断,对这个基类采用不同的方式进行继承。
1、类图
这里,Context 类中定义了一个成员方法find(),该方法的功能是用来选择具体使用哪个策略。这些策略的功能由IStrategy 接口定义,并且该接口有3个实现分别为:类WalkStrategy、类RideBickStrategy 和类CarStrategy。
2、代码
六、MVC 模式
MVC 模式将代码分为3部分:模型(Model)、视图(View)和控制器(Controller)。这3个组成部分既是相互独立的个体,也是相互关联的一个整体。首先,视图和控制器都要向模型请求数据,所以,视图和控制器依赖于模型;其次,任何输入数据和请求命令都通过控制器进入模型;最后控制器通过一个视图来发布结果数据。
该模式使得功能开发人员与页面设计人员的工作有效的分开,进一步细化了界面设计和功能程序开发,提高了Web系统的可管理性、可扩展性和可维护性。许多框架中也基于该模式设计。
七、附录
源码:
(类图使用Eclipse 的 AmaterasUML 1.3.2 插件画的)
策略模式(Strategy Pattern)指的是程序中涉及决策控制的一种模式。其定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换,使得这些算法在客户端调用它们的时候能够互不影响地变化。
在该模式中,算法是从复杂类提取的,因而可以方便地替换。策略模式通常通过定义一个抽象的基类,然后根据情况的不同创建不同的类来实现这个基类。接下来,根据实际情况的判断,对这个基类采用不同的方式进行继承。
1、类图
这里,Context 类中定义了一个成员方法find(),该方法的功能是用来选择具体使用哪个策略。这些策略的功能由IStrategy 接口定义,并且该接口有3个实现分别为:类WalkStrategy、类RideBickStrategy 和类CarStrategy。
2、代码
六、MVC 模式
MVC 模式将代码分为3部分:模型(Model)、视图(View)和控制器(Controller)。这3个组成部分既是相互独立的个体,也是相互关联的一个整体。首先,视图和控制器都要向模型请求数据,所以,视图和控制器依赖于模型;其次,任何输入数据和请求命令都通过控制器进入模型;最后控制器通过一个视图来发布结果数据。
该模式使得功能开发人员与页面设计人员的工作有效的分开,进一步细化了界面设计和功能程序开发,提高了Web系统的可管理性、可扩展性和可维护性。许多框架中也基于该模式设计。
七、附录
源码:
下载文件
(类图使用Eclipse 的 AmaterasUML 1.3.2 插件画的)
博爱老头
2011/08/05 10:14
涉及面还真广啊,这下又php了。。
分页: 1/1 1