Chr*_*nes 45 java design-by-contract
几年前,我做了一个关于Java的DbC包的调查,我对它们中的任何一个都不满意.不幸的是,我没有对我的发现做好记录,我认为事情已经发生了变化.有人会关心比较和对比不同的Java DbC包吗?
Ver*_*gen 22
关于按合同设计的WikiPedia有一个很好的概述 ,最后有一个关于语言的部分与第三方支持库,其中包括一系列很好的Java库.这些Java库中的大多数都基于Java Assertions.
在您只需要前置条件检查的情况下,还有一个轻量级的验证方法参数解决方案,位于Java Argument Validation(Plain Java实现)下的SourceForge中.
根据您的问题,也许OVal框架,对于字段/属性约束验证是一个不错的选择.此框架允许您将约束放置在各种不同的形式(注释,POJO,XML)中.通过POJO或脚本语言(JavaScript,Groovy,BeanShell,OGNL,MVEL)创建客户约束.并且它也实现了合同编程.
谷歌有一个名为contract for java的开源库.
Java合同是我们新的开源工具.前提条件,后置条件和不变量在注释中添加为Java布尔表达式.默认情况下,它们不执行任何操作,但通过JVM参数启用,它们在运行时进行检查.
Run Code Online (Sandbox Code Playgroud)• @Requires, @Ensures, @ThrowEnsures and @Invariant specify contracts as Java boolean expressions • Contracts are inherited from both interfaces and classes and can be selectively enabled at runtime
归档时间: |
|
查看次数: |
18364 次 |
最近记录: |