科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道AOP中的主要技术

AOP中的主要技术

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  1.Method Interceptor   使用AOP方法,我们可以在运行时产生某个类的Proxy类。

作者:中国IT实验室 来源:中国IT实验室 2007年9月26日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)


  Session Pool Design
  
  1. 利用apache common-pool实现一个Session Pool(非常简单)
  2. 如何避免代码中的returnObject()?
  
      xxx()      invoke
      --------> PoolProxy ---> PoolInterceptor   SessionPool
                        borrowObject()
                       --------------->
                       <---------------
  
  
                            xxx()    Session (be borr
  owed)
                       -------------------------------->
  
                        returnObject()
                       ---------------->
  
  --
  
  RMI design
  
   xxx()      invoke        Serialize call to remote
  -----> ClientProxy ---> RmiInterceptor ------------------->
  
       find ServerProxy, xxx()        xxx()
  RmiServer----------------> ServerProxy --->....-->ServerObject
  
  Method Cache design
  
  1.用HashMap做cache
  
   xxx()    invoke
  -----> Proxy ---> MCInterceptor
              1. get Attribute @timeout
              2. 用object[]作为key,看cache中的
              结果是否超时
  
              3. 如果超时   invoke
               ------------------> NextInterceptor...
              4. 如果不超,返回被cache的结果
  Draw activity UML diagram:
  
  1. 实现绘图模块
  xxx()   invoke
  ---> Proxy ---> ActivityIntercpetor
                 draw xxx()
              --------------->绘图模块
                invoke
              --------------------------->NextInterceptor...
  
  Persistence and descriptive transaction
  
  1. Persistence直接使用hibernate
  
  
  xxx    invoke
  ---->Proxy-->HibernateInterceptor
                  1. 取得@tx,应该为required,requiresnew
                  ,supports,notsupported中的一种
                  2. 判断当前的transaction状态
                  3. 决定本次调用是否在transaction当中
  Folder-Node关系的复用
  
  
  getFolder()  getFolder()     invoke       getFolder()
   --->UserProxy ------> NodeProxy -->SideEntityInterceptor--> Node
                              return Folder
                              <-----
                         根据Folder创建Group proxy
                   返回GroupProxy
                   <----
  
   in the code, like this:
  
  ...
  User user = userFactory.find("guty"); //user is actually a proxy
  Group group = (Group)((Node)user).getFolder();

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章