新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Java, J2SE, J2ME, J2EE, 以及Eclipse, NetBeans, JBuilder等Java开发环境,还有JSP, JavaServlet, JavaBean, EJB以及struts, hibernate, spring, webwork2, Java 3D, JOGL等相关技术。
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Java/Eclipse 』 → [合集] AOP中的主要技术 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3213 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [合集] AOP中的主要技术 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18407
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 Java/Eclipse 』的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客楼主
    发贴心情 [合集] AOP中的主要技术

    ● [合集] AOP中的主要技术发信人: diaochong (静静的雕虫~~小猪), 信区: J2EE
    标  题: [合集] AOP中的主要技术
    发信站: BBS 水木清华站 (Tue Mar 30 09:40:38 2004), 站内

    【 以下文字转载自 JavaClub 讨论区 】
    发信人: diaochong (静静的雕虫~~小猪), 信区: JavaClub
    标  题: [合集] AOP中的主要技术
    发信站: BBS 水木清华站 (Tue Mar 30 09:40:11 2004), 站内

    ☆─────────────────────────────────────☆  
    gty (宜良-丽江-蝴蝶泉) 于  (Fri Feb 21 02:26:15 2003)  提到:

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


       getName()       invoke()            invoke()          getName()
       --->UserProxy------->InterceptorA----->InterceptorB--...--->User



       2.“多重继承”
       在产生UserProxy时,还可以同时给它其他接口使其实现。当UserProxy
       实例化时,同时也会创建这些接口的Proxy.
       例如需要实现Node接口,Node接口定义了方法getFolder()

      getFolder()   getFolder()       getFolder
       --->UserProxy ------> NodeProxy ----> Node

       当然,在NodeProxy调用Node的过程中,也可以有Interceptor.

            3 Runtime Attribute
    就是利用java doc注释,进行编程。传统情况下,我
    们只是把java doc作为注释,并不在运行时使用,现在,
    这些java doc也可以作为程序运行时的一个要素了。
      ---------------------
      | 示例:                                                             |
            |       @magic.tx type=required              |
            |   public void makeOrder(Order order) { |
            |     ...
    |
            |   };
    |
            |                                        |
            ------------------------------------------
            在这个例子中,运行时,系统可以通过API访问到
    @magic.tx的type是required,从而控制Transaction。



    ☆─────────────────────────────────────☆  
      hax (海曦) 于  (Fri Feb 21 03:16:30 2003)  提到:

    最好给点实际实现的代码,还有最后一个用javadoc的例子没看懂。



    ☆─────────────────────────────────────☆  
    bakkhos (笨瓶子) 志存高远·思考永不停步 ) 于  (Fri Feb 21 08:52:58 2003)  提?


    有example么,觉得很有价值,但不知具体怎么实现



    ☆─────────────────────────────────────☆  
      gty (宜良-丽江-蝴蝶泉) 于  (Fri Feb 21 09:55:48 2003)  提到:


    代码已经check in到sourceforge.net/projects/magicserver上了。

    如果周末有时间,我会把aop这一块单独release出来。



    ☆─────────────────────────────────────☆  
      microweb (深呼吸,闭好你的眼睛) 于  (Fri Feb 21 20:30:52 2003)  提到:


    ☆─────────────────────────────────────☆  
    microweb (深呼吸,闭好你的眼睛) 于  (Sat Feb 22 13:16:18 2003)  提到:




    ☆─────────────────────────────────────☆  
      gty (宜良-丽江-蝴蝶泉) 于  (Sat Feb 22 14:49:03 2003)  提到:

    主要是习惯,另外由于数据不复杂,尽量简单吧

    Java doc的格式最简单
            @key value

    xdoclet的格式作乐扩展
            @key subkey1=value1 subkey2=value2


    ☆─────────────────────────────────────☆  
      gty (宜良-丽江-蝴蝶泉) 于  (Sat Feb 22 15:28:24 2003)  提到:


    这要从动态Proxy的基本构成说起,动态Proxy
    一般具有下面几个元素:

    1. 目标类,被“加工”的接口或类。JDK Dynamic Proxy只
    能加工接口,而CGLIB还可以加工类,因为它利用了字节
    码工程。
    例如,我们可以把User类加工。

    以下的元素都是可选的。

    2. Interceptor[]。Proxy类把被调用的方法和参数传递给
    Interceptor。
    例如,我们可以提供RmiInterceptor,HibernateInterceptor.

    3. Target,目标对象。每个Proxy对象一般是和特定的
    目标对象绑定的。目标对象是目标类的一个实例。
    Interceptor可以将调用最终传递给目标对象执行。
    例如,userProxy1的目标对象是user1

    4. writeReplace函数,这是为了定义Proxy如何实例化。

    以上1-4,是Proxy类的基本元素,我们可以把对Proxy类
    的定义称为一个Aspect.

    Aspect还有一个强大的功能是可以嵌套。我们把被嵌套
    的Aspect称为SideAspect(这在AOP理论中并没有)。

    5. SideAspect[], 在定义Aspect时,还可以提供多个
    SideAspect。例如为UserProxy类提供nodeAspect。
    nodeAspect的目标类是Node接口。

    这样,UserProxy既继承User类,也会实现Node接口。

    那么Proxy对象在接到对Node接口的方法调用时,该如何做呢?
    我们知道目标对象user1并没有实现Node接口。

    窍门在Interceptor上。我们可以实现一个特殊的Interceptor,
    让它接到方法调用时,判断是否属于SideAspect的目标类,
    如果属于,则利用SideAspect创建一个Proxy对象,并把
    调用传递给它。

    也就是说,调用被传递给了nodeProxy实例。nodeProxy
    如何处理,就和一般的Proxy的调用过程一样了,也要
    经过intercpetor,也有可能有自己的sideAspects.


    ☆─────────────────────────────────────☆  
    Erratic (漂砾) 于  (Sun Feb 23 11:53:15 2003)  提到:



    哪儿可以找到关于AOP基本知识的资料?




    ☆─────────────────────────────────────☆  
    microweb (深呼吸,闭好你的眼睛) 于  (Sun Feb 23 14:00:19 2003)  提到:


    aosd.net



    ☆─────────────────────────────────────☆  
      bakkhos (笨瓶子) 志存高远·思考永不停步 ) 于  (Sun Feb 23 17:39:08 2003)  提?

    我GOOGLE了一下,发现中文的资料要么比较虚要么比较乱,只能大概知道是怎么样的
    英文又没时间看……





    ☆─────────────────────────────────────☆  
      microweb (深呼吸,闭好你的眼睛) 于  (Sun Feb 23 14:00:19 2003)  提到:


    aosd.net



    ☆─────────────────────────────────────☆  
      bakkhos (笨瓶子) 志存高远·思考永不停步 ) 于  (Sun Feb 23 17:39:08 2003)  提?


    我GOOGLE了一下,发现中文的资料要么比较虚要么比较乱,只能大概知道是怎么样的
    英文又没时间看……

    ※ 修改:·qyjohn 于 Mar 30 09:41:48 修改本文·[FROM:   219.238.203.*]           

    索引页面|上一篇|下一篇


       收藏   分享  
    顶(0)
      




    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/9/23 0:40:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Java/Eclipse 』的所有贴子 点击这里发送电邮给Google AdSense  访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/9/10 5:58:17

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms