初级会员
  • 第 3099 位会员
  • zhulixun
  • zhulixun168@qq.com
  • 2015-07-02 20:14:22
  • Offline
  • 0

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • #1 @plain 动态代理没那么简单,首先调用者只能看到接口,甚至本地计算机没有接口的实现.动态代理就是根据用户需要凭空生成一个对象,这个对象的实现是自动生成的,他的所有参数是根据接口匹配的,这个自动生成的对象会调用你指定配置的几个函数,吧调用者传递的参数传递给任何本地或者远程的实现.结果送来以后再给自动对象返回给调用者. 这种机制的好处是可以让调用者完全与实现隔离,调用者和实现者都不需要关注如何调用的.而具体如何调用可以在最后配置动态代理来决定. 比如同样的一个程序,加一个好的动态代理框架,你可以不修改一行代码,让这个个程序可以只在本地高速运行,可以在两台机器上分别运行客户端服务器端,甚至不修改代码就可以实现实现端的负载均衡,给客户端或者服务器端加缓存. 调用者就是调一个接口,实现者只实现了业务逻辑,而实际运行,可能是通过动态代理,转换成web service从远程调用的业务逻辑. 这里面最核心的技术就是动态生成可执行的java字节码,但是golang是机器码型语言又要跨平台的特性,难以解决不同硬件结构的问题.官方应该是不会去实现动态机器码生成的. 因此,我想golang是不会有动态代理功能