c# - DBC(契约式设计)和AOP(面向切面编程)

标签 c# java programming-languages aop

我正在阅读《实用程序员》,其中关于 DBC 的部分讨论了 Effel 如何强制执行 DBC 前后条件,而 Java、C#、C++ 则不然。 我首先想到的是使用 AOP(所以我用 google 搜索 DBC 和 AOP,只出现了旧链接)

那么其他程序对于在 Java 或 C# 中使用 AOP 强制执行 DBC 有何想法?

最佳答案

虽然我喜欢 DBC 想法,但在我看来,AOP 并不是完成这项任务的错误武器。

方面需要特殊的基础设施,使您的构建过程变得复杂

执行合约的方面需要在生产代码中运行,存在实际引入错误而不是防止错误的风险。

方面不提供任何编译时安全性,这确实是 DBC 的主要目标。

不了解 C#,但在 Java 领域似乎没有成熟的 DBC 选项。因此我倾向于将契约(Contract)作为测试来实现。虽然没有我应该的那么频繁

关于c# - DBC(契约式设计)和AOP(面向切面编程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5713273/

相关文章:

c# - 如何以编程方式确定是否为 SharePoint 2010 Web 应用程序启用匿名访问?

java - 需要有关开始使用 Junit 的建议

java - Android Drive API OAuth BAD_AUTHENTICATION

programming-languages - 游戏项目开发

c# - 无法执行简单的方法调用

c# - UWP 网络安装 - “Error in parsing the app package.”

programming-languages - self 修改代码的编程语言?

c++ - 局部/全局 bool 问题

c# - MS Dynamics - QueryExpression with ConditionOperator.In 结果没有结果但与 ConditionOperator.Equal 一起使用

java - 查找需要jsr311-api-1.1.1哪个依赖