
一天一个设计模式
命中无时必强求
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一天一个设计模式(1): 代理模式
代理模式: 我的理解是对象A在某一条件下执行对象B的方法C, 对象A则为代理, 这种办法便是代理模式; javascript 例子: 主人man 启动汽车 car var man = { do: function(car){ this.check(car);//检查汽车是否正常并处理之 car.open();//启动 }, ch原创 2013-03-07 18:33:08 · 526 阅读 · 0 评论 -
一天一个设计模式(2): 外观模式
官方定义: 它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。 我的理解: 从mvc角度来看,在c层对m层的一些接口进行整合,形成一个易用的接口; 或者说,任何一个封装了低层方法的自定义方法都是一种外观模式; 例子: (php语言) 一个对低层对象B进行一系列调用的对外接口A class A{ static public function api(){ $原创 2013-03-08 10:31:09 · 569 阅读 · 0 评论 -
一天一个设计模式(4):适配器模式
适配器模式: 我的理解是一个兼容旧对象并且增加新业务接口的对象. 使用场景: 旧的对象不方便改动,继而新建一个对象继承之,然后在新对象里增加新方法; 例子: 让一个老式的二孔插座支持三孔接口; class oldPanel{ function api(){ echo '这是一个2孔插接口'; } }; class adapterPanel exten原创 2013-03-13 09:29:01 · 472 阅读 · 0 评论 -
一天一个设计模式(3):观察者模式
观察者模式: 又名通知者模式,对象A对已订阅的若干个对象(B, C, D)进行通知,(B, C, D)可以选择退订或再订阅; 例子(javascript): 老师D对已签到的学生进行通知报数 var D = { students: [], sign:function(student){ var i; for(i in D.students){ if(D.studen原创 2013-03-12 09:45:37 · 443 阅读 · 0 评论 -
一天一个设计模式(5):中介者模式
中介者模式: 由一个中介对象来完成不同对象之间的交互; 例子(php): 一个经典的例子: 一个cd商城,底层有一个cd类和一个mp3类;当cd类的作者和名字有更新时,mp3也需要更新;使两个对象的数据统一; class cd{ public $title; public $author; protected $mediator; function __construct($me原创 2013-03-14 19:27:42 · 532 阅读 · 0 评论