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

    常见的场景:

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

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

    2.软件开发过程:

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

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

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

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

    3.代理模式

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

      常用场景:

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

      种类:

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

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

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

  • 相关阅读:
    DUBBO+Zookeeper在Centos7中本地搭建及小案例
    【后台测试】手把手教你jmeter压测
    Netdata 是一款 Linux 性能实时监测工具
    Spring Boot(5) 集成Hibernate 日志配置
    FSTConfiguration 高性能序列化框架FST
    java BeanUtils.copyProperties
    Transformer-view java实体 转换视图 Lists.transform
    shell 命令学习
    Immutable集合
    Lists.transform的使用
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/3485738.html
Copyright © 2011-2022 走看看