一个现代的 n 层 asp.net Web 应用程序示例?
Posted
技术标签:
【中文标题】一个现代的 n 层 asp.net Web 应用程序示例?【英文标题】:A modern n-layer asp.net web application sample? 【发布时间】:2011-03-17 16:13:39 【问题描述】:所以我的 asp.net 非常非常生疏,我正在尝试回到最佳实践中去。所以,我翻出谷歌,开始寻找示例、示例和教程,但我能找到什么?甚至在“最新”技术在石器时代发布之前就已经写出旧的硬壳内容。
当然,这些概念可能仍然成立。但是实际的实现基本上是没用的。我正在寻找使用 Linq、n 层(不是层。层可以是层,但层不一定是层)某种当前 ORM(L2S、EF 等)和一些现实世界的东西东西,而不是随意和无用的例子。
有人指点一下吗?
【问题讨论】:
这是一个很好的问题,最近的一些问题被关闭并指出了这一点,不幸的是,答案大多很笼统,缺乏很多细节。因此,是否有人对遵循最佳实践的最新综合 asp.net webforms 示例有任何指示。我知道 MVC 被认为更好,但有些客户仍然要求使用网络表单。 【参考方案1】:这里有 3 个来自 Daniel Simmons 的链接,可以帮助您入门:N-Tier Application PatternsAnti-Patterns To Avoid In N-Tier ApplicationsBuilding N-Tier Apps with EF4 也可以看看NerdDinner,如果你对 ASP.NET MVC 感兴趣(过去两年我一直在 ASP.NET 工作,一开始我有点不愿意学习 ASP.NET MVC,我以为我知道网络表单所需的一切,但这绝对是一股新鲜空气,不是替代,而是补充 WinForms)。该项目由 Scott Gurthie 开发,因此如果您查看该项目,您将向最好的人学习。 NerdDinner 还有一个教程,但我没有找到更新的(MVC 2)教程。 希望这可以帮助。
【讨论】:
Jeff Atwood(本网站的开发者)一直对 NerdDinner 样本有积极的评价。这是一个开始的好地方。 我同意 MVC,我非常喜欢它,而且我已经通过 nerddinner 的东西,但不幸的是,我现在被困在网络表单中。 我在日常工作中也“卡住”了网络表单,但这并不意味着我不能在业余时间尝试一下。正如我在阅读 MVC 时不止一次看到的那样,它不应该被视为 WebForms 的替代品(至少现在还没有,尽管我的猜测是,如果两者要合并,它就是 MVC这将吸收 WebForms 而不是相反)。因此,每种 ASP.NET 风格都有其优缺点,但 MVC 对于任何 Web 开发人员来说绝对值得一试。另外,您不只是喜欢 Razor 语法吗? NerdDinner 最新版本(2010 年 5 月 25 日)比它早了 4 年。还有其他最新的示例吗?【参考方案2】:我建议 NSK,在 codeplex 上:
http://nsk.codeplex.com/
这是一个基于 Northwind 的分层示例应用程序。
【讨论】:
这个例子使用 asp.net mvc 而不是 webforms !【参考方案3】:这个系列的文章很好很现代。 5 年前,我们的项目基于其以前的版本,并且从未后悔。 http://imar.spaanjaars.com/573/aspnet-n-layered-applications-introduction-part-1
【讨论】:
【参考方案4】:不久前我写了一些博客文章,这是一个基本的概述value of n-tier design 然后我做了一个后续的帖子,从n-tier design revisit part 1: overview 开始,我有一些源代码告诉你发生了什么
【讨论】:
我承认这些博客文章可能有些用处,但它们非常简短,并没有真正解决实际 asp.net 示例的原始问题!!!【参考方案5】:那里有很多网站,但很难缩小范围。首先尝试 CodePlex 和 CodeProject。有大量的样本,由社区分类和评级。
CodePlex
CodeProject
SourceForge
【讨论】:
也许链接被认为有点通用 你没有回答这个问题。我正在寻找特定的样品。我已经花了数周时间搜索这些网站,坦率地说,这是大海捞针。 @Mystere Man - 你试过了吗? multitierlinqtosql.codeplex.com/… 我认为将其缩小到一些样本并不难,您不必枚举所有样本。当然,围绕 n 层架构构建了很多优秀的应用程序,但仅向某人指出一些源代码库对于链接谷歌作为回应是第二糟糕的。以上是关于一个现代的 n 层 asp.net Web 应用程序示例?的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET 数据访问层。使用 sqlhelper.cs 不好吗?
在ASP.NET中,三层架构,Web ,BLL,DAL,Models这四个的引用关系是?
Asp.Net - 从不同的应用程序层异步调用 web 服务,而不是页面本身