zoukankan      html  css  js  c++  java
  • 设计模式基本概念辨析

    proxy - 代理, 被代理方(B)与代理方(A)的接口完全一致。
    主要使用场景(语义)应该是:为简化编程(或无法操作B),不直接把请求交给被代理方(B),而把请求交给代码方(A),由代理方与被代理方进行通信,以完成请求。
    delegete - 委托,主要语义是:一件事情(或一个请求)对象本身不知道怎样处理,对象把请求交给其它对象来做。

    proxy 由代理接收请求,被代理者执行;delegate 由委托发起者接收请求你,委托给别人做。
    举个栗子将上面串起来,你向公司人力资源部发起一个请求让他们处理一下你的人事档案,可人力资源部是群懒汉,于是他们找了(delegate)代办(Proxy),即将该工作委托给了代理,
    代办拿着基本信息跑去人才市场(被代理者)去办理了。人力资源的懒汉其实可以自己去人才市场办啊,老板要砍死他们!请注意代办与委托是种相对关系,角色容易发生相对转换!!

    人力资源部委托给代理,代理委托给人才市场。反过来的关系是:代办是人才中心的代理,人力资源部是代办中介的代理。

    结构形式是一样的,接收请求的类并不直接处理该业务逻辑,而是转出去交给别人,主要是语义上的区别! 具体完成工作的对象是:被代理或者被委托的对象!
    委托和代理是两个关系十分密切的概念!不管是代理或者被代理的对象,对于委托发起人来说都一样,即只要完成委托发起人的任务就好,是否通过代理,委托发起人不太关系!

  • 相关阅读:
    实例化讲解RunLoop---IOS
    IOS中的SpringBoard
    Mac版OBS设置详解
    Swift学习Tip之Closures
    Swift中Array的Map
    IOS中的国际化(一)
    IOS,中获取系统内存占有率的方法
    IOS获取两个日期之间的时间间隔
    IOS中微信支、支付宝支付详解
    IOS中的正则表达式:NSRegularExpression
  • 原文地址:https://www.cnblogs.com/wdmx/p/9499272.html
Copyright © 2011-2022 走看看