|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。
1.序
AspectOrientedProgramming(AOP)是最近一个对照抢手的话题。
AspectJ是AOP的Java言语的完成,取得了Java程序员的普遍存眷。
关于AspectJ和AOP的详细材料,请从以下链接中查找:
http://www.eclipse.org/aspectj/
http://www.parc.com/research/csl/projects/aspectj/
http://aosd.net/
网上呈现了良多解说AspectJ的材料,但年夜多是从解说AspectJ语法入手下手,然后解说怎样使用AspectJ,怎样分别软件开辟历程的分歧方面(Aspect)--Log,Session,AuthenticationandAuthorization,Transaction,等等。
初度打仗AspectJ的读者看到这些材料(大概语法手册),会感应AspectJ有些奥秘。他们想晓得,AspectJ是怎样做到这些的?AspectJ是如何事情的?AspectJ必要特别的运转情况吗?
本文从另外一个角度解说AspectJ,本文从解说AspectJ的计划思绪、运转道理动手,回覆上述成绩。
本文解说的次要内容,依照观点的主要水平,分列以下:
AspectJ是一个代码天生工具(CodeGenerator)。
AspectJ语法就是用来界说代码天生划定规矩的语法。您假如利用过JavaCompilerCompiler(JavaCC),您会发明,二者的代码天生划定规矩的理念惊人类似。
AspectJ有本人的语法编译工具,编译的了局是JavaClass文件,运转的时分,classpath必要包括AspectJ的一个jar文件(Runtimelib)。
AspectJ和xDoclet的对照。AspectJ和EJBDescriptor的对照。
本文的准绳是,只细讲其他材料没有讲到的工具,其他材料讲过的工具,不讲或略讲。以节俭收集资本,更加了节俭人人可贵的工夫。
2.AspectOrientedProgramming(AOP)
本节复杂先容AOP的观点,注释我们为何必要AOP。
AOP是ObjectOrientedProgramming(OOP)的增补。
OOP可以很好地办理对象的数据和封装的成绩,却不克不及很好的办理Aspect("方面")分别的成绩。上面举例详细申明。
好比,我们有一个Bank(银行)类。Bank有两个办法,deposit(存钱)和withdraw(取钱)。
类和办法的界说以下:
Code 2.1 Bank.java
class Bank{
public float deposit(AccountInfo account, float money){
// 增添account账户的钱数,前往账户里以后的钱数
}
public float withdraw(AccountInfo account, float money){
// 削减account账户的钱数,前往掏出的钱数
}
};
<p>
进而能拉拢大多数程序员用windows产品。并且从ASP.NETAJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net的,如果跨平台的.net还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。 |
|