zoukankan      html  css  js  c++  java
  • 设计模式 之代理(Proxy)模式

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

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

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

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

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

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

    /**设置布局參数*/

    void setLayoutParameter(LayoutParameter* parameter);

    /**得到布局參数*/

    LayoutParameter* getLayoutParameter(LayoutParameterType type);

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

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

  • 相关阅读:
    用html自己开发自己的串口TCP通讯调试软件
    推荐模型PNN: 原理介绍与TensorFlow2.0实现
    推荐模型NeuralCF:原理介绍与TensorFlow2.0实现
    推荐模型DeepCrossing: 原理介绍与TensorFlow2.0实现
    推荐模型AutoRec:原理介绍与TensorFlow2.0实现
    ffmpeg命令的简单使用
    X264的交叉编译
    FDK_AAC交叉编译
    编译lame静态库
    iOS安全清单
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7306755.html
Copyright © 2011-2022 走看看