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

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

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

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

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

  • 相关阅读:
    Java实现 洛谷 P1423 小玉在游泳
    Java设置session超时(失效)的时间
    How Tomcat works — 八、tomcat中的session管理
    三种常用的MySQL建表语句
    mysql和oracle的区别(功能性能、选择、使用它们时的sql等对比)
    oracle 基础表 mysql版
    oracle员工表和部门表基本操作
    Oracle
    java生成6位随机数
    用Ajax图片上传、预览、修改图片
  • 原文地址:https://www.cnblogs.com/wdmx/p/9499272.html
Copyright © 2011-2022 走看看