1

我正在查看 Lhotka CSLA.NET 对象库 (Lhotka.NET)。这似乎很有趣,但没有意义的一件事是业务规则是用 C# 编写的。如果这些不在代码之外进行编码(即使它是一个与应用程序的主要逻辑不耦合的库,规则仍然可以更改并需要重新编译)。

谢谢

4

2 回答 2

8

不,那将是内部平台反模式。

如果您创建的系统足够先进,可以处理您可能需要的任何业务规则,那么它会比必须的复杂得多。

于 2010-09-23T22:56:15.263 回答
2

CSLA 业务规则只是代表,如果规则通过则返回 true,否则返回 false。

由于业务规则只是代码,因此您可以自由地做任何您喜欢的事情。如果您愿意,您可以创建一个规则引擎,如果您愿意,可以在对象之外处理规则。

如果您也希望使用基于属性的规则,CSLA 还支持基于属性的 DataAnnotations。

从 Csla 4 开始,不再支持静态规则方法。相反,您创建一个类,它是命名空间BusinessRule中的子类Csla.Rules。这允许更好的重用和更容易的单元测试。

于 2010-09-26T03:33:58.217 回答