我观察到一些优秀的代码片段,用于定义规则、验证、业务对象(实体)等方面,但是我必须承认,我从未见过一个完整的、优秀且写得好的业务层。
我明白我不喜欢什么,但不知道什么是好的。
有人能指出一些好的面向对象的业务层(或优秀的业务对象),或告诉我如何评判业务层以及何谓优秀?
谢谢
我观察到一些优秀的代码片段,用于定义规则、验证、业务对象(实体)等方面,但是我必须承认,我从未见过一个完整的、优秀且写得好的业务层。
我明白我不喜欢什么,但不知道什么是好的。
有人能指出一些好的面向对象的业务层(或优秀的业务对象),或告诉我如何评判业务层以及何谓优秀?
谢谢
如果你是微软的开发者,学习和使用CSLA.Net对我很有帮助。虽然我从未实现过"纯"的CSLA应用程序,但我已经使用了架构中提出的许多思想。
最好的方法是不断寻找那个神奇的解决方案,并使用最适合解决问题的思路。保持简单。
我发现的一个问题是,即使您拥有设计良好的业务层,也很难阻止业务逻辑泄漏,而开发工具往往会鼓励这种情况。例如,一旦您向ASP.NET WebForm添加验证控件,就已经让业务逻辑泄漏到视图中了。验证应该在业务层中进行,并且只显示其结果在视图中。一旦您向数据库添加约束,那么您的数据库中也存在业务逻辑。尽管如此,DBA类型通常会强烈反对这一点。
我也不是。我们在应用程序中不创建业务层,而是使用MVC-ARS。业务逻辑嵌入到(S)状态机和(A)操作中。