Design patterns .NET项目类别

Design patterns .NET项目类别,design-patterns,Design Patterns,我继承了一个大型项目,它由一个ASP.NET应用程序和一个VB6应用程序组成 我正在努力重构代码。我的问题是:将单个项目拆分为多个项目有什么指导原则?我在网上进行了研究,一些开发人员说要为业务逻辑层和数据逻辑层创建单独的项目,但是其他人说要创建一个实用程序项目 其他开发人员使用哪些类别的项目?我正在寻找类别列表。如果您的系统非常复杂,您可以按子系统将其拆分为多个项目 Steve McConnell在《代码完成》中写道: “共同子系统: 业务规则:业务规则是编码到计算机系统中的法律、法规、政策和程

我继承了一个大型项目,它由一个ASP.NET应用程序和一个VB6应用程序组成

我正在努力重构代码。我的问题是:将单个项目拆分为多个项目有什么指导原则?我在网上进行了研究,一些开发人员说要为业务逻辑层和数据逻辑层创建单独的项目,但是其他人说要创建一个实用程序项目


其他开发人员使用哪些类别的项目?我正在寻找类别列表。

如果您的系统非常复杂,您可以按子系统将其拆分为多个项目

Steve McConnell在《代码完成》中写道:

“共同子系统:

  • 业务规则:业务规则是编码到计算机系统中的法律、法规、政策和程序。如果您正在编写工资单系统,您可以编码来自IRS的关于允许预扣税数量和估计税率的规则。

  • 用户界面。创建一个子系统来隔离用户界面组件,以便用户界面可以在不损坏程序其余部分的情况下发展。

  • 数据库访问。您可以隐藏访问数据库的实现细节,这样大多数程序就不需要担心操作低级结构的混乱细节,并且可以根据数据在业务问题级别的使用方式来处理数据。

  • 系统依赖项。出于与打包硬件依赖项相同的原因,将操作系统依赖项打包到子系统中。例如,如果您正在为Microsoft Windows开发程序,为什么要将自己限制在Windows环境中?隔离Windows界面子系统中的Windows调用。如果以后要移动程序,请对于Mac OS或Linux,您只需更改接口子系统。”


  • 您还可以分离出sonamed公共项目,该项目通常是为了删除循环引用而创建的,并且包含解决方案的公共接口和实用程序。

    您能否澄清系统依赖性的含义?我假设您指的是由多个其他项目使用的类。谢谢,谢谢。我正在为.NET平台开发,该平台仅限于Windows。你能为.NET扩展第4点吗?第1点到第4点是“代码完成”史蒂夫·麦康奈尔的引文。这不是必须的,而是可以分离的子系统示例。在您的情况下,您不应该提取第4点。当您说“不应该提取”时,您的意思是不应该使用吗?最后,假设我有三种客户端类型,例如VB.NET客户端、ASP.NET客户端和电话客户端。您是在用户界面类别下创建三个项目,还是一个项目具有多个名称空间?