仓酷云

标题: 发布一篇AOP@Work: 用Contract4J举行组件计划-用左券式计划和AspectJ改善软件 ... [打印本页]

作者: 若相依    时间: 2015-1-18 11:06
标题: 发布一篇AOP@Work: 用Contract4J举行组件计划-用左券式计划和AspectJ改善软件 ...
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。
简介:左券式计划(DesignbyContract)是实在可行的手艺,能够分析组件计划的细节、为客户纪录准确的组件用法,并用编程的体例测试组件利用的适应性(compliance)。在AOP@Work的最初一篇中,DeanWampler先容了Contract4J,这是左券式计划的工具,它用Java™5标注(annotation)指定合约,并在运转时用AspectJ方面盘算合约。在成为AOP工具包中新增的一个无足轻重的工具的同时,Contract4J投合了面向方面计划的新趋向。
假定您方才到场一个构建银行使用程序的项目。在扫瞄代码时,您发明(已经简化的)BankAccount的上面这个接口:
interfaceBankAccount{
 floatgetBalance();
 floatdeposit(floatamount);
 floatwithdraw(floatamount);
 ...
}
下面这个接口固然简便,但遗留了很多成绩没有回覆。deposit()或withdraw()的amount参数能够是正数或零么?同意负余额(透支)么?假如指定了毛病的amount,deposit()或withdrawal()中会产生甚么情形呢?
明显,关于该接口的完成者和利用公然该接口的组件的人来讲,可以回覆这些成绩是主要的。一种隐式地指定举动的办法是利用以JUnit(请参阅参考材料)编写的单位测试。利用JUnit测试,能够用各类正当和分歧法的参数挪用这些方法,并作出有关预期了局举动产生的断言。另外一种办法是左券式计划,这是分析组件计划细节的一项实在可行的手艺。
在AOP@Work系列的最初这篇文章中,我将先容Contract4J,这是一个基于AspectJ的工具,撑持左券式计划。我将先容怎样用Contract4J隐式地指定组件举动,为用户纪录组件的准确用法,并用编程的体例测试组件利用的适应性。在这篇文章最初,我将会商Contract4J怎样投合面向方面计划中正在呈现的趋势。
左券式计划概述
利用左券式计划,能够用可编程表达式指定关于组件输出和前往了局的请求。在开辟职员和QA测试时代,对表达式举行盘算,假如测试失利,程序实行当即停止。程序的停止带有有效的诊断信息,迫使开辟职员当即修复bug。
强迫当即停止看起来大概有点贫苦。为何要放不对误动静还持续运转呢?虽然持续运转看起来大概对照有临盆效力,但实践上不是的。起首,假如没被强迫请求当即处置bug,就会推延修复bug,如许bug就会积累。其次,失利的测试应该代表产生了料想以外的事(比方,援用为空),一般的实行不克不及持续。固然能够放进“不测处置”代码,可是这反而大概会把完成庞大化,呈现永久不会产生的情形,从而增添代码的庞大性和更多bug的风险。
<p>
你对java乐观有点盲目。java的关键就是在服务器上表现优异,而且它提供了整个开发所需要的工具。应该是说,看哪天。net有没有机会赶上java。
作者: admin    时间: 2015-1-20 14:28
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
作者: 飘灵儿    时间: 2015-1-25 14:23
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
作者: 若天明    时间: 2015-2-1 16:12
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者: 变相怪杰    时间: 2015-2-21 04:13
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者: 若相依    时间: 2015-3-6 19:34
是一种突破用户端机器环境和CPU
作者: 飘飘悠悠    时间: 2015-3-13 06:35
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 愤怒的大鸟    时间: 2015-3-20 15:19
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2