码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式 之代理(Proxy)模式

时间:2014-05-11 14:34:10      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:style   c   color   get   strong   a   

为什么这里要定义代理呢?所谓代理代理,当然就是你不想做的事,找别人去做,这就是代理。所以,当你写代码的时候,你想保持类的简单性、重用性,你就可以把事件尽量都交给其它类去做,自己只管做好自己的事。也就是SRP,单一职责原则。如果一个类关注的点过多,做的事情太多。这些事情不管是你直接做的,还是调用别的对象去完成的。这都不行,自己做这些事,那就会使类的功能复杂化,维护不方便。而过多地调用其它对象来完成一些事情,表面上看起来好像不错,实际上是过度耦合了。我们编写类的原则应该是追求高内聚,低耦合的。可能你会说,用代理不也是交给别人做吗?没错,问的好。但是,代理是接口,我们是针对接口编程,所以它的重用性会非常好。因此,下次当你想写可扩展和可重用的代码的时候,不妨先想想代理这个东西吧。

Cocos2d-x /ui 控件的管理所谓就是代理模式。

在widget类里面有这两个函数 :

/**设置布局参数*/

void setLayoutParameter(LayoutParameter* parameter);

/**得到布局参数*/

LayoutParameter* getLayoutParameter(LayoutParameterType type);

本来 布局参数可以作为widget的一个属性,成员 。但是这样处理起来 这个widget就会增加负担,功能复杂 不利于维护。现在剥离出来,利用代理模式,现在参数布局LayoutParameter单独封装处理 重用性也很高。

设计模式 之代理(Proxy)模式,布布扣,bubuko.com

设计模式 之代理(Proxy)模式

标签:style   c   color   get   strong   a   

原文地址:http://blog.csdn.net/yhhwatl/article/details/25461405

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!