一个好的 Java 按合同设计库?[已关闭]

2022-09-01 00:10:53

几年前,我对Java的DbC包进行了一项调查,我对其中任何一个都不完全满意。不幸的是,我没有很好地记录我的发现,我认为事情已经发生了变化。有人愿意比较和对比Java的不同DbC包吗?


答案 1

维基百科上有一个关于合同设计的很好的概述,最后有一个关于具有第三方支持库的语言的部分,其中包括一系列不错的Java库。这些 Java 库中的大多数都基于 Java 断言。

在你只需要前提条件检查的情况下,还有一个轻量级的验证方法参数解决方案,在SourceForge下的Java参数验证(普通Java实现)。

根据您的问题,也许OVal框架,对于字段/属性约束验证是一个不错的选择。此框架允许您将约束以各种不同的形式(注释,POJO,XML)放置。通过 POJO 或脚本语言(JavaScript、Groovy、BeanShell、OGNL、MVEL)创建客户约束。它还通过协议实现编程


答案 2

谷歌有一个名为java合同的开源库。

Java合同是我们新的开源工具。前置条件、后置条件和不变量作为 Java 布尔表达式添加到注释中。默认情况下,它们不执行任何操作,但通过 JVM 参数启用,它们在运行时进行检查。

• @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

java 的合约


推荐