ASP.NET / c#网站的OOD分层方法

时间:2009-10-15 10:26:36

标签: c# asp.net oop

我正在编写ASP.NET网站,其中我将代码分解为表​​格对象类,业务逻辑的实体类,控制多个实体类的Controller类以及最终的数据访问类。

上面提到的所有类都有他们的saperate dll(s)因为Form对象的业务类在网站和Apllication(Exe)等项目的多个组件之间被粉碎

我有疑问

  1. 我想知道我是否按照分层编程做正确的方法?

  2. 我们应该在父类的构造函数中创建类的对象,还是在函数中创建;因为在我的情况下,需要在父类中使用大约8-10个子类,所以我应该在父类的构造函数中创建clhild类对象,还是在我使用子对象的父类的函数内部创建?

  3. 如上所述分层方法,我应该在哪个层创建数据库连接?

  4. 请帮帮我?

2 个答案:

答案 0 :(得分:0)

我不确定这是否有帮助(或回答您的问题),但这就是我们如何通过开发构建应用程序。该结构非常适合我们的需求,我们(尝试)采用DDD方法。

DDD Solution Structure http://www.kanebarton.com/images/DomainDesign.png

答案 1 :(得分:0)

I would like to know whether I am doing the right approach

如果你的意思是从“分层”架构的角度来看,那么我会说是的。这个想法是创造不同的责任层。在您的情况下,您将应用程序分层,如:

  • UI图层
  • 业务逻辑层
  • 控制器层 - 可能的改进是将其移入业务逻辑层并使其成为单独的命名空间,即BusinessLogic.Controllers
  • DAL(数据访问层)

IMO看起来很公平。

你应该看看The Repository Pattern。这基本上创建了一个控制器类,它连接到您的数据库(在创建对象时),然后公开将与您的数据库交互的方法(针对该特定类)。您的应用程序也有MVC感觉,您应该考虑使用ASP.NET MVC Framework