将代码片段分成单独项目的典型经验法则

时间:2010-08-28 15:09:33

标签: .net project-management projects-and-solutions code-organization

我想知道何时将代码和项目组件划分为单独的项目。我正在创建一个MVC .NET Web项目,并且有许多目录/子目录,我甚至还没有开始进入一些需要更多空间的后台进程。

我只是在努力组织项目和代码。

什么时候开始将代码划分为单独的项目?你能提供一个例子吗?

谢谢

2 个答案:

答案 0 :(得分:3)

我经常看到有关以下内容的变化:

  • 网络应用
  • 服务层
  • 业务层
  • 数据层
  • 单元测试
  • 集成测试

获得想法的一种方法是搜索asp.net MVC开源项目,看看他们是如何做到的。

如果是上面的替代方式,您可以查看CodeCampServer。他们使用Onion Architecture来布局他们的项目。

洋葱架构与上面列出的不同,它们有一个很棒的explanation of why(网络广播)。

alt text alt text

从上面引用的网页拍摄的照片。

  

洋葱建筑的主要原则:

     

•应用程序围绕着一个   独立对象模型•内部   图层定义接口。外   层实现接口   •耦合方向朝向   中心•所有应用核心代码都可以   编译并分开运行   基础设施

Onion Architecture与开源示例的链接为您提供了推理时间/原因以及一个具体示例的推理,以确定您是否喜欢它。

答案 1 :(得分:0)

通常在我的应用程序中,将代码分成不同项目的目的是完成代码重用。实际上没有任何严格的规则,但这是我试图遵循的一些原则。

对于代码重用,我考虑我编写的类是否可以在不同的上下文中使用。例如,如果我有一个与数据库通信的ASP.NET网站,那么数据访问代码可能会在基于Windows的应用程序中重用,因此它可以很好地考虑到自己的库。

我创建了扩展方法,以方便地操作字符串,流或其他常见事物。这些,我考虑到一个库,供所有应用程序共同使用。

总之,尝试将项目组织成相关类的高度内聚集合,并避免创建所有项目。您会发现高度凝聚力的项目更有可能被重复使用,从而节省您的时间和雇主的资金。