zoukankan      html  css  js  c++  java
  • 学习代理模式

    常见的场景:

    1.软件开发就是一系列的处理器,类似与硬件的产品构架,如输入输出,处理器,显示器,路由器,网关,连接线,适配器等常见的计算机组件。软件的开发就是采集数据,路由数据,处理数据,显示数据等一系列的数据操作。所以软件的架构设计思想完全可以采用硬件的开发思想进行抽象化的开发。

    一些杂想:我们可以了解计算机体系结构,学习X86计算机设计思想以及操作系统对其进行管理的思想,采用软件对其进行模拟,研发虚拟机作为我们自定义产品的平台,运行在其上保证开发的进度,小到项目大到新语言的研发,完全可以借鉴计算机硬件的一些设计思想进行模拟,毕竟硬件的思想超前于软件的设计思想,也比较容易理解。

    2.软件开发过程:

      函数---服务类----组件---模块----服务

      同构系统------------------------异构系统

    SOA:面向服务的架构      通信采用XML+HTTP=SOAP  协议

    ESB:面向消息的架构     通信采用总线技术,消息机制      消息

    3.代理模式

      不直接找目标对象,对于客户端调用来说,采取代理对象更加安全放心(类似于中介机构,省去我们直接找目标要快,安全,只不过付点代价)

      常用场景:

        安全,日志,远程对象服务,缓存Cache等

      种类:

        静态代理:需实习多个接口

        动态代理:只需要一个接口即可(自己不需要写代理类,采取JDK提供自动生成代理类   字符串拼接 )

    总结:代理一般是对客户层而言,采取代理机制的目的就是采取单一指责的原则,写业务的人员与写安全等其他附加逻辑的代码很好的隔离开来,相互之间不影响,当对于客户端是透明的(从抽象的角度都一样),算是一种代码的增强。

  • 相关阅读:
    python中True,False,数值之间用<,>,==进行比较规则
    分析python代码性能的程序分析包cProfile
    /bin/bash^M: bad interpreter: No such file or directory问题
    架构图以及vue的简介
    重写简易的confirm函数
    CSS绝对定位元素居中的几种方法
    Linux 部署java web 项目,验证码图片不显示文字问题
    log4j升级到log4j2
    openssh一键升级脚本(只升级openssh,其它已有环境不变,解决root登录问题)
    openssh一键升级脚本(测试成功)
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/3485738.html
Copyright © 2011-2022 走看看