【问题标题】:Typical structure of an ASP.NET solution?ASP.NET 解决方案的典型结构?
【发布时间】:2010-10-16 23:03:15
【问题描述】:
正如标题所说,我很想知道您通常如何构建 ASP.NET 解决方案。
我对 ASP.NET 网站 解决方案特别感兴趣,但与其他类型(WebApplication、MVC)相关的信息也可能很有趣。
一些具体问题:
- 解决方案包含什么/多少项目/程序集
- 你如何命名你的类库项目
- 您通常拥有哪些命名空间
- 每个项目/程序集是否有多个命名空间,或者是否有严格的 1:1 关系
- 等
谢谢
【问题讨论】:
标签:
asp.net
namespaces
solution
【解决方案1】:
我的一个项目如下所示:
- Sln
- Sln.Core
- Sln.Core.Test
- Sln.数据
- Sln.Data.Test
- Sln.Web
- Sln.Web.Test
核心是域模型和域服务,只要它们可以在不涉及持久性的情况下完成。数据是持久层,基本上就是FluentNHibernate定义和Core中定义的接口的具体实现。 Web是前端层。
【解决方案2】:
我做过类似正义的事情。但是项目更少(编译时间更快)
Sln
- Project.Core
- Project.Web
- 项目测试
Project.Core 将如下所示
我并没有真正从多个(超过 3 个)项目中受益。您无法获得可测试性,而且您的编译时间会变得更长。
另外,当我获得一个网站项目时,我做的第一件事就是将它转换为一个 Web 应用程序。但总的来说,当我在网站和 Web 应用程序之间切换时,我的项目并没有改变。
【解决方案3】:
我通常使用应用程序的名称作为解决方案名称(使用通用的“解决方案”项目类型),然后将 SolutionName.Site、SolutionName.Domain、SolutionName.Persistence 等用于它包含的项目。似乎更容易处理所有引用。
不过,我想看看其他人的答案。虽然这是我发现的最好方法,但我无法摆脱可能会有更好的方法的感觉。