Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DBC(契约式设计)和AOP(面向方面编程) 我在阅读有关DeBC的语用程序和一节,讨论了EFEL如何执行DBC前后条件,而java、C++、C++没有。 首先想到的是使用AOP(所以我在谷歌上搜索DBC和AOP,只有旧的链接出现)_C#_Java_Programming Languages_Aop - Fatal编程技术网

C# DBC(契约式设计)和AOP(面向方面编程) 我在阅读有关DeBC的语用程序和一节,讨论了EFEL如何执行DBC前后条件,而java、C++、C++没有。 首先想到的是使用AOP(所以我在谷歌上搜索DBC和AOP,只有旧的链接出现)

C# DBC(契约式设计)和AOP(面向方面编程) 我在阅读有关DeBC的语用程序和一节,讨论了EFEL如何执行DBC前后条件,而java、C++、C++没有。 首先想到的是使用AOP(所以我在谷歌上搜索DBC和AOP,只有旧的链接出现),c#,java,programming-languages,aop,C#,Java,Programming Languages,Aop,那么,关于在Java或C#中不使用AOP来增强DBC的其他程序有什么想法呢?看看哪个程序使用AspectJ来增强DBC。虽然我喜欢DBC的想法,但我认为AOP是完成这项任务的错误武器 方面需要特殊的基础架构,使构建过程复杂化 强制执行契约的方面需要在生产代码中运行,实际引入错误而不是防止错误的风险 方面不提供任何编译时安全性,这实际上是DBC的主要目标 不知道C#,但在java领域似乎没有成熟的DBC选项。因此,我倾向于将契约作为测试来实现。尽管不像我应该的那样频繁,C#(实际上是.NET)使用

那么,关于在Java或C#中不使用AOP来增强DBC的其他程序有什么想法呢?

看看哪个程序使用AspectJ来增强DBC。

虽然我喜欢DBC的想法,但我认为AOP是完成这项任务的错误武器

方面需要特殊的基础架构,使构建过程复杂化

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

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

不知道C#,但在java领域似乎没有成熟的DBC选项。因此,我倾向于将契约作为测试来实现。尽管不像我应该的那样频繁,C#(实际上是.NET)使用框架和工具支持DBC

它提供了一个用于声明前、后和不变条件的API,以及执行运行时检查、静态检查和生成文档的能力


该框架内置于.NET framework 4中。

我不是真的在寻找更多关于“是”的自由思想,因为它不能离开它或它不可用。开发者体验!!实际上,DBC可以在运行时或编译时强制执行。在编译时,它变得非常棘手,因为您可能需要一个成熟的定理证明程序,以及一位人类数学家的帮助,以证明契约得到满足。因此,虽然我自己不使用AOP,但我确实认为它是运行时DBC实施的有效方法。不过,我不确定额外的复杂性是否值得。