Jul 20

[原]PHP设计模式——策略模式 晴

linuxing , 14:00 , 编程 » Php , 评论(1) , 引用(0) , 阅读(42148) , Via 本站原创 | |
五、策略模式
策略模式(Strategy Pattern)指的是程序中涉及决策控制的一种模式。其定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换,使得这些算法在客户端调用它们的时候能够互不影响地变化。

在该模式中,算法是从复杂类提取的,因而可以方便地替换。策略模式通常通过定义一个抽象的基类,然后根据情况的不同创建不同的类来实现这个基类。接下来,根据实际情况的判断,对这个基类采用不同的方式进行继承。

1、类图
点击在新窗口中浏览此图片
这里,Context 类中定义了一个成员方法find(),该方法的功能是用来选择具体使用哪个策略。这些策略的功能由IStrategy 接口定义,并且该接口有3个实现分别为:类WalkStrategy、类RideBickStrategy 和类CarStrategy。

2、代码


六、MVC 模式
MVC 模式将代码分为3部分:模型(Model)、视图(View)和控制器(Controller)。这3个组成部分既是相互独立的个体,也是相互关联的一个整体。首先,视图和控制器都要向模型请求数据,所以,视图和控制器依赖于模型;其次,任何输入数据和请求命令都通过控制器进入模型;最后控制器通过一个视图来发布结果数据。

该模式使得功能开发人员与页面设计人员的工作有效的分开,进一步细化了界面设计和功能程序开发,提高了Web系统的可管理性、可扩展性和可维护性。许多框架中也基于该模式设计。

七、附录
源码:
(类图使用Eclipse 的 AmaterasUML 1.3.2 插件画的)
Tags: ,
博爱老头 Homepage
2011/08/05 10:14
涉及面还真广啊,这下又php了。。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]