ASP.NET 解决方案的典型结构?
Posted
技术标签:
【中文标题】ASP.NET 解决方案的典型结构?【英文标题】:Typical structure of an ASP.NET solution? 【发布时间】:2010-10-16 23:03:15 【问题描述】:正如标题所说,我很想知道您通常如何构建 ASP.NET 解决方案。
我对 ASP.NET 网站 解决方案特别感兴趣,但与其他类型(WebApplication、MVC)相关的信息也可能很有趣。
一些具体问题:
解决方案包含什么/多少项目/程序集 你如何命名你的类库项目 您通常拥有哪些命名空间 每个项目/程序集是否有多个命名空间,或者是否有严格的 1:1 关系 等谢谢
【问题讨论】:
【参考方案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 等用于它包含的项目。似乎更容易处理所有引用。
不过,我想看看其他人的答案。虽然这是我发现的最好方法,但我无法摆脱可能会有更好的方法的感觉。
【讨论】:
以上是关于ASP.NET 解决方案的典型结构?的主要内容,如果未能解决你的问题,请参考以下文章
《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构
在 ASP.NET MVC 中构造视图层次结构的最佳方法是啥?