锁定老帖子 主题:AOP——新一代的 Java 语言
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2003-12-17
hijack 写道 AOP不是语言,而是一种思考问题的方式
AOP也不可能取代OOP,是OOP的一种补充 对,AOP和OOP没有谁更好的比较,因为他们关注的方向不一样,可以将AOP和OOP并列起来思考,是两种不同的考虑问题的方式,具体在实现上,两者是交错的 |
|
返回顶楼 | |
发表时间:2003-12-17
AOP并不是和JAVA相关的,和具体的语言没关系的,正如我刚才所说,是和OOP一样的,是一种思想,一种思考和解决问题的方法,事实上,好几种语言都有AOP的扩展,楼上提到的aspectj只是针对java的AOP的某一个实现而已
|
|
返回顶楼 | |
发表时间:2004-02-09
我现在也很关注AOP,具体用了aspectj for eclipse.
感觉用起来不难.还是思维上的转变有点困难.大家是否能共享一下先进的思维? |
|
返回顶楼 | |
发表时间:2004-02-09
说说我的经验把.目前我们的项目中要求在每一个函数的启示和终止都要加上日志,便于跟踪.可是实际情况,这样的工作量很大,很多人没有加,或者是加了却没有起到效果(比如没有添加函数名....).在aspectj 中最简单的一个功能就是在每个函数的起始位置加上一条信息,非常简单的一句话.
从项目角度考虑,如果我是负责人的话,我只需要我一个人懂得aspectj ,其他人可以不了解这个概念.我可以从项目的角度,对程序进行方面性的改动. 其他的,我对aspectj 的语法还是不很清楚.希望大家多多发表意见. |
|
返回顶楼 | |
发表时间:2004-02-09
AOP,也学习过,也用过一点,觉得很蛮好,最易看到的就是它把一些常用的重复代码重用了(是集中管理才对),真的很牛.不过觉得现在用它来做一些小框架还是很有用的.
同意dlee的说法(找个高手挣着,觉得自己也是高手了,呵呵,开玩笑). |
|
返回顶楼 | |
发表时间:2004-03-06
dlee:
aop从思想上说可以是oo的一种延伸,但是它与OO的思想却不是同源的,相反,和触发器的思想有些相似,在OFBIZ中的eca和它有异曲同工之妙,你认为呢? 首先,AOP强调从面向对象的另一面,即纵向考虑系统中的一些机制,并通过配置应用到相应方法调用的开始或结束事件。我们在设计数据库触发器时尽管没有这么明确的设计意图但基本的思考方法是一致的,而OFBIZ就更加完整了,有SERVICE ECA 和 ENTITY eca,如果要说区别,我认为AOP是在语言级实现,而ofbiz是在框架上实现。 |
|
返回顶楼 | |
发表时间:2004-03-07
AOP 可别问我,我目前对于 AOP 还是处于文盲状态。不过论坛里已经有不少朋友研究过 AOP 了。
我现在主要是没时间。不可能象我的朋友 xel 说的那样,马上要上阵杀敌了,还要捧着一本兵书在读。来不急把一些技术研究得非常清楚,只能硬着头皮上了,呵呵。 |
|
返回顶楼 | |
发表时间:2004-04-19
AOP並不是OOP,它只是OOP的一種補充。按照15% solution的說法,一個系統的設計,85%依賴於OOP,而15%依賴於AOP.
目前AOP在java的實現,無非就是注射(類似於宏展開),例如AspectJ,反射(例如Spring和Jboss AOP),動態代理例如nanning。 AOP也不是Java獨有的技術,它只是思考問題的一種方法。在dotNet中大量借助了AOP的概念,MTS應該說是實現AOP概念的第一個實例了! |
|
返回顶楼 | |
发表时间:2004-04-19
现在在项目里使用AOP可能还为时尚早,特别是aspectJ,一般人还没拿它来写程序的想法。但是AOP的思想倒是可以借鉴到项目当中。其实相信很多人在以前开发过程中其实也有过相似AOP的解决方案,只不过AOP更系统更理论化一点。
|
|
返回顶楼 | |
发表时间:2004-04-19
mikeho 写道 现在在项目里使用AOP可能还为时尚早,特别是aspectJ,一般人还没拿它来写程序的想法。但是AOP的思想倒是可以借鉴到项目当中。其实相信很多人在以前开发过程中其实也有过相似AOP的解决方案,只不过AOP更系统更理论化一点。
AOP实现的是分离关注点,现在做AOP时肯定是已经有了代码进行重构。不过也可以尝试实践一下有AspectJ的开发。我感觉至少从原理上是应该对整个系统的架构有很大的好处。但是,比较实际的项目需要好的性能来说明问题,我想这也是很多人没有胆量将aspectj实施在项目里的原因吧。毕竟,没有可以参考的应用实例,很难将新的技术采纳到实际项目中。 |
|
返回顶楼 | |