Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
.net 分层体系结构与静态方法_.net_Layered - Fatal编程技术网

.net 分层体系结构与静态方法

.net 分层体系结构与静态方法,.net,layered,.net,Layered,我需要关于我计划实施的三层体系结构的建议 情景 我在ASP.NETC3.5环境中工作 DLHelper:从数据库获取数据的方法 DAL:包含通过DLHelper类从数据库收集数据的方法。该层中的大多数方法都没有引用任何页面级对象,因此可以声明为静态 BL:和DAL层一样,大多数方法都没有引用任何页面级对象,因此可以声明为静态的 UI层:根据上述场景,对BL层的UI层调用如下 BLClass.Method->DALClass.Method 问题: 我想知道这是一种标准化的方法。根据与同事的讨论,我

我需要关于我计划实施的三层体系结构的建议

情景

我在ASP.NETC3.5环境中工作

DLHelper:从数据库获取数据的方法

DAL:包含通过DLHelper类从数据库收集数据的方法。该层中的大多数方法都没有引用任何页面级对象,因此可以声明为静态

BL:和DAL层一样,大多数方法都没有引用任何页面级对象,因此可以声明为静态的

UI层:根据上述场景,对BL层的UI层调用如下

BLClass.Method->DALClass.Method

问题:
我想知道这是一种标准化的方法。根据与同事的讨论,我们应该有相应的BL/DAL层对象。但我仍在寻找更为通俗的答案。

我也在寻找同样的答案。也就是说,应用程序设计“如果有标准方法/最佳实践”。我的问题与BL上的静态方法有关。但我不认为我能给你一个直接的答案

我可以告诉你,在我的例子中,我继续并使一些类中的方法是静态的。我这样做是因为不需要实例,因为它们在OOP文献中是严格定义的。也就是说,不需要创建具有自己状态的对象

根据与同事的讨论,我们应该有每一层的对象。如果你的意思是会有一个目标,那么我敦促你重新考虑。在大多数情况下,有不止一个“协作”来交付结果,当然也有例外


“责任驱动设计”在很多情况下都对我很有帮助。

看看ASP.NET MVC框架。我认为这与你的情况非常相关。而且,由瓦伊达尔已经是层:不是整个层作为一个对象,而是相应的实体层对象。