【问题标题】:Good ASP.NET MVC book and application with no open source projects dependency?没有开源项目依赖的优秀 ASP.NET MVC 书籍和应用程序?
【发布时间】:2010-12-30 20:49:41
【问题描述】:

我正在学习 ASP.NET MVC。我开始阅读“MVC in Action”和“Pro ASP.NET MVC Framework”书籍,并注意到它们的文本和代码在很大程度上依赖于一些开源项目,如 MVCContrib、NHibernate、Castle Windsor 等。 这些都是很好的书,有很好的示例项目,但是我需要学习 原始 ASP.NET MVC,而不会让我的大脑与其他项目混淆,即使这意味着我必须以更难的方式做事。另外,我的项目可以由不了解这些开源项目依赖关系的同事维护,这意味着我需要坚持使用纯微软的产品,如 Linq to SQL 而不是 NHibernate,没有依赖注入模块......等等。

有什么好的 ASP.NET MVC 书籍,包含完整的示例项目,只是硬核 MVC 位,没有或最少的开源依赖项?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    我认为Professional ASP.NET MVC 1.0 与您正在寻找的内容很接近。

    【讨论】:

    • 我开始读这本书,它比其他两本书更容易理解。我仍然计划阅读另外两本书,它们有一些很好的有价值的信息。例如,Linq in Action 谈到了另一个模型层,其唯一目的是为 UI 视图提供信息。 (Automapper 进来了)。
    【解决方案2】:

    问题是,发明 ASP.NET MVC 的部分原因是允许开发人员使用以下工具和技术:

    1. 控制反转 (IoC) 容器
    2. 单元测试
    3. 对象-关系映射 (O/RM)

    现在,好消息是微软为这三者提供了产品:

    1. Unity Application Block 是一个 IoC 框架。
    2. MS Test 是一个单元测试框架。
    3. 正如您所提到的,Linq to SQL 是一个 O/RM 框架。还有The ADO.NET Entity Framework,高级一点。

    我也会推荐Pro ASP.NET MVC Framework。它为 IoC 使用 Castle Windsor,但 Unity 的工作方式或多或少相同。它也使用 NUnit 而不是 MSTest,但它们同样几乎相同。

    如果您想学习 ASP.NET MVC,那么您肯定会想要结合上面列出的内容,因为这基本上是 MVC 框架的重点。如果您不想学习这些东西,那么坚持使用 WebForms 会更快乐。

    【讨论】:

    • 谢天谢地,您不是“读者”,请参阅amazon.co.uk/review/R2U507DS9X0BEF/…
    • 这不是不学习它们。它是关于首先专注于基础知识,然后再结合扩展。我不想在第一天就被多种不同的框架所困扰。
    • 也许你会想改变你的方法:首先尝试学习单元测试、IoC 和 OR/M,然后来 ASP.NET MVC,看看它是如何通过使您的 UI 可测试。
    【解决方案3】:

    只是一个想法,但您可以很容易地忽略 Pro ASP.NET MVC Framework 中的开源依赖项。在我的脑海中,你所要做的就是:

    • 在存储库中硬编码连接字符串或从 web.config 中的 connectionStrings 节点获取值
    • 为您的控制器构造函数提供一个具体的实现,而不是一个接口。

    这样可以减轻对温莎城堡的依赖。它会为单元测试增加一些步骤,但仍然非常可行。

    • 使用 ViewData、内联逻辑(不推荐)、RenderPartials 或 HtmlHelpers 来完成书中 MVCFutures RenderAction 所做的事情。 (虽然这是书中的一个依赖,MVC 版本 2 将原生支持 RenderAction)

    您也可以使用 VS2008 的原生单元测试环境来代替 nUnit。

    据我从那本书中记得,这就是它。一些非常小的调整(如果您使用的是 MVC 版本 2,则更小)并且您没有依赖关系。

    【讨论】:

      【解决方案4】:

      Learn ASP.NET MVC从零开始教你ASP.NET MVC,不依赖开源项目。

      ASP.NET MVC 由 Microsoft 开源的子项目组成,但本书仅使用您在使用 Visual Studio 创建原始 ASP.NET MVC 应用程序时获得的那些项目。

      如果您正在寻找 ASP.NET Core,Learn ASP.NET Core 将很快发布。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 2010-12-02
        相关资源
        最近更新 更多