Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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
ASP.NET/c#网站的OOD分层方法_C#_Asp.net_Oop - Fatal编程技术网

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

ASP.NET/c#网站的OOD分层方法,c#,asp.net,oop,C#,Asp.net,Oop,我正在编写一个ASP.NET网站,在这个网站中,我将代码分解为以下几层:表单对象类、用于业务逻辑的实体类、用于控制多个实体类的控制器类,最后是数据访问类 上述所有类都有它们的saperate dll,因为表单对象和业务类在项目的多个组件(如网站和应用程序(Exe))中被分割 我有以下疑问 我想知道我是否按照分层编程的方式进行了正确的处理 我们应该在父类的构造函数内或函数中的何处创建类的对象;因为在我的例子中,大约有8-10个子类需要在父类中使用,所以我应该在父类的构造函数中或在使用子对象的父类的

我正在编写一个ASP.NET网站,在这个网站中,我将代码分解为以下几层:表单对象类、用于业务逻辑的实体类、用于控制多个实体类的控制器类,最后是数据访问类

上述所有类都有它们的saperate dll,因为表单对象和业务类在项目的多个组件(如网站和应用程序(Exe))中被分割

我有以下疑问

  • 我想知道我是否按照分层编程的方式进行了正确的处理

  • 我们应该在父类的构造函数内或函数中的何处创建类的对象;因为在我的例子中,大约有8-10个子类需要在父类中使用,所以我应该在父类的构造函数中或在使用子对象的父类的函数中创建clhild类对象

  • 正如上面提到的分层方法,我应该在哪一层创建数据库连接


  • 请帮助我?

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


    我想知道我的方法是否正确

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

    • 用户界面层
    • 业务逻辑层
    • 控制器层-可能的改进是将其移动到业务逻辑层,并使其成为一个单独的名称空间,即BusinessLogic.Controllers
    • DAL(数据访问层)
    在我看来这很公平

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