为什么这里要定义代理呢?所谓代理代理,当然就是你不想做的事。找别人去做,这就是代理。所以,当你写代码的时候。你想保持类的简单性、重用性。你就能够把事件尽量都交给其他类去做。自己仅仅管做好自己的事。也就是SRP,单一职责原则

假设一个类关注的点过多,做的事情太多。这些事情无论是你直接做的,还是调用别的对象去完毕的。

这都不行,自己做这些事,那就会使类的功能复杂化,维护不方便。而过多地调用其他对象来完毕一些事情,表面上看起来好像不错,实际上是过度耦合了。我们编写类的原则应该是追求高内聚,低耦合的。可能你会说,用代理不也是交给别人做吗?没错。问的好。可是,代理是接口,我们是针对接口编程,所以它的重用性会很好。

因此,下次当你想写可扩展和可重用的代码的时候,最好还是先想想代理这个东西吧。

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

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

/**设置布局參数*/

void setLayoutParameter(LayoutParameter* parameter);

/**得到布局參数*/

LayoutParameter* getLayoutParameter(LayoutParameterType type);

本来 布局參数能够作为widget的一个属性。成员 。

可是这样处理起来 这个widget就会添加负担。功能复杂 不利于维护。如今剥离出来。利用代理模式。如今參数布局LayoutParameter单独封装处理
重用性也非常高。

最新文章

  1. vi命令模式下快速注释代码的方法
  2. sp_help 快速查看表结构、视图信息
  3. csharp:百度翻译
  4. [转]linux的du和df命令
  5. npm常用命令总结
  6. firefox 自写扩展改版,总结
  7. ADS-B 雷达 显示终端5.8
  8. UVa 757 - Gone Fishing
  9. Musical Theme poj1743(后缀数组)
  10. textarea高度自适应,随着内容增加高度增加
  11. Linux最佳的云存储服务分析
  12. Java的递归、IO流
  13. 「造个轮子」——cicada 源码分析
  14. pycharm设置自动换行的方法
  15. 基于Thinkphp5.0 小程序登录插件应用
  16. 记无法用被动方式登录远程linux主机的原因
  17. iOS 实时音频采集与播放Audio Unit使用
  18. 20144306《网络对抗》Web基础
  19. (连通图 模板题 无向图求桥)Critical Links -- UVA -- 796
  20. Spring统一异常处理

热门文章

  1. Mapping (RESOURCE) not found :和BeanFactory not initialized or already closed - call 'refresh' before access记录
  2. java使用数据库连接池
  3. 抓取oracle数据库耗费资源的sql语句
  4. mysql时间的处理
  5. 如何用纯 CSS 创作一个冒着热气的咖啡杯
  6. Python机器学习及实践+从零开始通往Kaggle竞赛之路
  7. 剑指Offer(书):数组中重复的数字
  8. jquery validate基本
  9. python常用函数 A
  10. 火狐插件youdao word capturer无法删除。