|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
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。 |
|