【问题标题】:How to write a good core architecture for a project in ASP.NET MVC如何在 ASP.NET MVC 中为项目编写好的核心架构
【发布时间】:2010-11-24 19:23:52
【问题描述】:

我将在 1 月份用 ASP.NET MVC3 / C# 编写一个大型系统,并且需要知道如何编写一个能够工作的系统。我确实对 ASP.NET MVC 和 C# 有一些经验,但不会称自己为专家。它需要是可扩展的,以便我以后可以使用新功能对其进行扩展。怎么办?是否有书籍详细解释​​了这个主题,或者我应该使用试错法?

简而言之,我需要了解我的代码中可以为未来扩展的良好设计实践。

问候 乌鸦

该系统将成为一个社区门户,提供论坛评级等。不能说更多>,由于有很多开源选项,我可以管理的论坛......但其余的取决于我。

【问题讨论】:

标签: c# asp.net-mvc asp.net-mvc-3 model-view-controller design-patterns


【解决方案1】:

SOLID == 大获成功

在任何项目中遵循 SOLID 原则,您都会做得很好。

【讨论】:

    【解决方案2】:

    关于核心基础架构/架构,SharpArchitecture 是一个很好的起点。这绝不是完美的解决方案......但它们为您提供了一个很好的框架,您可以快速拥有一个工作系统,同时学习随着时间的推移有效和无效的概念。看看你的想法。它使用 NHibernate、Castle 和 MVC。

    【讨论】:

      【解决方案3】:

      测试驱动开发将确保您项目的质量。严格要求自己,红绿折射。 MVC 的优势之一是它更容易测试。

      【讨论】:

      • 严格来说不是架构,但在我看来对成功至关重要。
      【解决方案4】:

      Professional ASP.NET MVC 2 是一个很好的起点,不过,我认为他们也会推出 MVC 3 版本。 NerdDinner 教程包含很多关于如何构建应用程序的想法。

      基本建议:使用 MVC 架构,而不是反对它。了解您的应用程序,尤其是您的数据模型,并将其分层到您的应用程序结构中。通常每个模型都有一个控制器,但并非总是如此。

      如果您需要更详细的建议,您需要更具体地了解您的项目。我建议就你的设计的各种细节提出具体的问题,而不是一个涵盖整个项目的问题。后者可能不会得到你想要的那种响应。

      【讨论】:

      • 我已经更新了我的主帖。我明白你的意思,但我害怕说太多。公司政策很痛苦。
      【解决方案5】:

      你可以从我的“真棒”演示开始

      http://awesome.codeplex.com

      【讨论】:

        【解决方案6】:

        如果它必须是可扩展的,请确保编写测试。从长远来看,当您修复某些问题但最终破坏了整个系统时,您将免于不眠之夜。

        至于如何让事情“工作” - 这取决于你的能力。阅读并寻求改进,但不要陷入过早的优化,否则会让您陷入困境。

        【讨论】:

          【解决方案7】:

          根据您的编辑和能力,选择用 ASP.NET MVC 编写的开源 CMS 并支持它可能更明智。听起来你的技能已经足够好,可以学习如何编写模块并成为更大社区的一部分。你听起来不像真的想写整个东西,因为你对自己的技能、截止日期等感到胆怯。在学习一个写得很好的软件的来龙去脉的同时,有一天你可能会选择自己写或贡献到软件的核心部分。有几个可供选择,请参阅我在您问题下方的评论。

          编辑:我也认为这可以让你刚刚开始,而不必担心人们会为了成功而抛给你的每一种设计范式。

          【讨论】:

            【解决方案8】:

            WhoCanHelpMe 是一个不错的参考应用程序。它建立在S#arp Architecture 之上,这是使用域驱动设计的 MVC 应用程序的一个很好的起点。这也将帮助您连接 IoC 和 db-stuff。

            请记住,并非每个示例和框架都符合您的要求,因此请按照 jFar 所说的去做,思考 SOLID 并根据原则做出自己的决定。

            您还应该查看MEF 的可扩展性。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2010-10-01
              • 2020-12-06
              • 2013-09-14
              • 1970-01-01
              • 1970-01-01
              • 2018-04-23
              • 1970-01-01
              相关资源
              最近更新 更多