锁定老帖子 主题:AOP——新一代的 Java 语言
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2004-04-20
AOP和OOP一样,是一种思想,aspectJ只是AOP的其中一种实现,即使我们不用aspectJ,但AOP的思想还是会为我们带来很多的设计思路。Spring应该是个比较好的东西,有时间下来我得看看。
|
|
返回顶楼 | |
发表时间:2004-04-20
mikeho,你真有时间,唉,我是对AOP不了解,听得我一头雾水。苦啊~~~~~~~,我也想有时间静下心来看点东西,可是现实啊,总是那么残酷。
以后,各位楼上的朋友,多指点指点。也扫扫我这个AOP的文盲先! |
|
返回顶楼 | |
发表时间:2004-04-20
老凰同志你们不是不能上网了吗?你没时间还上来灌水?
其实你从AOP要解决的问题出发,就可以对AOP是什么有一个大致的了解了。我们平时写程序时,不是把权限认证、时间戳检验、数据库连接管理都嵌入到每个业务模块里头吗?AOP就是要把这些横切点分离出来。 |
|
返回顶楼 | |
发表时间:2004-05-29
我没有用过AOP,但是看其概念我有两点问题,请大家说说:
1)触发器的功能是否类似,现在不仅数据操作有触发器,而且一些面向服务的框架也支持触发器,实现了后期注入代码的功能,以解决“横向”问题。 2)AOP还包括思想的组成部分,有人说是分离关注点的思想。我认为说得不准确,OO就是分离“关注点”到不同的对象。AOP其实说明了一个现象。好比现实世界,有很多对象,但是也有很多“规律”或“机制”不属于某个具体的对象。用OO去抽象现实世界显然是不足的。因此可以将AOP和OO理解为抽象方法学的内容,而分离“关注点”应是纯粹的思想。 |
|
返回顶楼 | |
发表时间:2004-06-08
dlee 写道 AOP 是 Java 语言最新的发展,其重要性已经超过了 JDK 1.5 新增的泛型编程能力。说实话我并不觉得 GP 比 OOP 更有用,而 AOP 则是更大范围的 OOP。
关于在 Java 中如何做范型开发,可以参考 CSDN 上的这篇介绍文章: http://www.csdn.net/Develop/Read_Article.asp?Id=18750 我并不认为AOP比JDK1.5中的泛型编程更重要的说法。这两种技术解决的是不同的问题,不可简单归类比较。泛型解决的是相似性对象批量产生的问题,AOP解决的是对象内部一致性运行规则的问题,因此说哪个比哪个更重要显然不对。此外,我认为AspectJ实现在形式上不是很自然,我倾向元数据的形式,但是目前JDK1.5的元数据功能还没有覆盖AspectJ支持的范围,这使得AspectJ存在生存空间。事实上我希望AspectJ的能力被合并到Java中,以一种更自然的方式实现同等功能。 |
|
返回顶楼 | |
发表时间:2004-06-08
AOP我也在学习中。在知道AOP之前,由于设计上的需要,我曾经对类似的问题作过思考,发现现有的JAVA无法很好的达成我的愿望,而AOP提供了近似的能力。不过看到AOP中AspectJ的语法我就觉得头疼,总觉得乱七八糟的,并非我想要的那种工具。我理想中的类似AOP的工具或者语言扩展,应该是对类内部特征进行分析,然后对具备指定特征的类元素自动进行控制,我们只管设计我们的类,只要保证类内部需要实施某种隐含动作的元素符合某种指定的特征即可,这样我们的设计就会具有更好的抽象性,也不会弯来弯去的写很多让人头晕目眩的代码。在知道AOP之前,我给自己的这种想法命名为“共性编程”,可是自己现在没有能力实现具备这样能力的Java语言扩展,只好先去了解AOP,看它能不能提供我所需要的。
|
|
返回顶楼 | |