发布一篇用AOP加强左券:用AspectJ为Java软件开辟到场左券式计划
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。简介:在开辟企业软件时,Java代码常常必要与内部组件交互。不论使用程序必需与遗留使用程序、内部体系仍是第三方库通讯,利用不克不及把持的组件会引进非预期了局的风险。IBM的IT专家FilippoDiotalevi展现了,面向方面的编程(AOP)怎样经由过程匡助您在坚持代码的洁净和天真性的同时,计划和界说组件之间的明白左券,从而下降这类风险。
左券式计划(DesignbyContract)(DBC)是面向对象的软件计划中的一种手艺,它的目标是包管软件质量、牢靠性和可重用性。DBC中的关头思索是能够经由过程以下做法完成这个方针:
尽量正确地划定组件之间的通讯。
界说通讯过程当中的互相义务和预期的了局。
这些互相义务称为左券,用断言反省使用程序是不是满意左券。复杂地说,断言是拔出到程序实行中的特定点的布尔表达式,它必需为真。失利的断言一般是软件bug的症兆,以是必需将它呈报给利用者。
在处置内部组件大概库,并必要包管使用程序传送给它们的数据和从它们那里吸收的数据是准确的时分,DBC出格有效。本文将展现一个笼统的基本举措措施和一个示例使用程序,前者利用面向方面的编程(AOP)完成DBC,后者与内部组件建立左券。
断言和Java言语
DBC辨认三种基础的断言范例:
前置前提:客户为了准确挪用内部组件而必需满意的义务。
后置前提:实行内部组件后的预期了局。
稳定量:在实行了内部组件后保持稳定的前提。
Java言语本来没有供应对断言的自然撑持。assert语句是在版本1.4中加进的。不外,在一样平常编码中利用DBC会是一种应战。现实上,年夜多半经常使用的方法──在使用程序代码中间接到场前置和后置断言──在代码模块化和可重用性方面有严峻的弱点。这类办法是胶葛的代码的一个活生生的例子:它夹杂了业务逻辑代码与断言所需的非功效代码。这类代码是不天真的,由于不克不及在不改动使用程序代码的情形下改动大概删除断言。
对这个成绩的幻想办理计划要满意四个请求:
通明性:前置和后置前提代码不与营业逻辑夹杂。
可重用性:办理计划的年夜多半部件是可重用的。
天真性:能够用复杂的体例增添、删除和修正断言模块。
复杂性:能够用复杂的语法指定断言。
<p>
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流. 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 是一种使用者不需花费很多时间学习的语言 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 是一种使网页(Web Page)产生生动活泼画面的语言
页:
[1]