发布一篇甚么是AspectJ
先谈谈我对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的话,那么微软还剩的手段就是开源了,呵呵。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 是一种将安全性(Security)列为第一优先考虑的语言 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
页:
[1]