【问题标题】:Asp.net design patterns [closed]Asp.net 设计模式
【发布时间】:2011-07-22 16:23:06
【问题描述】:

我是一名初级开发人员,已经了解基础知识并且也有一些经验,但是在从头开始构建项目时,我在编写良好的可维护代码方面毫无用处。我知道为此目的有大量的设计模式,而且我也知道 asp.net MVC3。现在,我是否需要阅读 asp.net 设计模式书籍才能成为一名优秀的 asp.net 架构师,还是应该专注于 MVC,因为它是新的更好的设计模式?我的印象是设计模式和 MVC 是分开的,因为 MVC 是它自己的“强制”设计模式。我需要为自己澄清这一点并感谢所有答案!谢谢。

【问题讨论】:

  • 我强烈建议你通过编写 ASP.NET MVC 网站来学习并忘记 winforms。

标签: asp.net-mvc asp.net-mvc-3 model-view-controller design-patterns coding-style


【解决方案1】:

比起 Web 表单,我更喜欢 Asp.Net Mvc,因为它更容易理解正在发生的事情。 另一件事是 mvc 有更好的“关注点分离”,这将帮助您构建 一个好的架构。它非常干净,没有 asp.net 控件,没有 viewstate,没有 doPostBack()。

你冷知道使用 phill haack 和/或 scott hanselman 的网络广播。他们有很多来自不同活动的视频,比如 mix 和其他。

我喜欢的模式/技术:

  • 存储库模式
  • 依赖解析(Ninject)
  • Mvc 脚手架(必须!)
  • 实体框架代码优先
  • 像 (Elmah, Glimpse) 这样的 Nuget 包

其他好的资源是:

【讨论】:

  • ASP.NET MVC 也是一个显着较少泄漏的抽象
  • 好的资源和模式..+1 给你..
【解决方案2】:

我建议参考 MVC 示例应用程序并观看免费视频。设计模式,本身就是一个复杂的领域。只需专注于 MVC 并尝试从许多示例应用程序中学习。另请查看 Entity Framework 4.1。

【讨论】:

    【解决方案3】:

    无论如何 MVC 是必须知道的,但我建议从基础开始,学习以下模式类别:

    • 行为模式
    • 结构模式
    • 创作模式

    Judith Bishop 的《C# 3.0 Design Patterns》是一本非常好的书,其中包含使用 C# 的简洁示例

    【讨论】:

      【解决方案4】:

      我是否需要阅读 asp.net 设计模式书籍才能成为一名优秀的架构师 对于 asp.net 还是我应该专注于 MVC,因为它是新的更好的设计 模式?

      是的 :) 开个玩笑,既然您说您是初级开发人员,我会先编写一两个 MVC 应用程序(即使它们会被丢弃),这样您就可以“感受痛苦”模式解决。阅读模式是对编写代码的一个很好的补充,但我会(至少在最初)将重点放在你的编码技能上。

      你可能需要学习很多东西,但慢慢来。不要一次尝试所有模式和工具。一本关于 MVC 的好书是 Steven Sanderson 的 Pro ASP.NET MVC 3 他包含一个非常好的示例应用程序,他按照良好的编程实践一点一点地构建。

      【讨论】:

        【解决方案5】:

        要记住一件事:“实现设计模式”和“编写可维护的代码”是完全不同的两件事。您可以完全按照设计模式进行操作,但最终还是会得到一堆无法维护的代码:

        • 缺少 cmets
        • 缺乏一致的命名
        • 带有大量嵌套 IF 和循环的庞大函数
        • 在代码库中保留不再使用的旧对象
        • 在整个代码中散布硬编码、交叉依赖的字符串
        • 和 1000 多种其他方式让您的代码变得一团糟 :)

        同样,您可以编写可靠、可维护的源代码,而无需听说过四人组。事实上,不恰当或无缘无故地使用设计模式会使您的代码的可维护性显着降低。一个跃入脑海的例子是单例:在我工作过的许多项目中,开发人员在所有地方都使用单例,即使这样做没有必要或没有价值。在这种情况下,每次我遇到一个问题时,我都需要深入研究代码,寻找对外部资源的引用,或者昂贵的构造/初始化操作。

        不幸的是,我现在想不出任何具体的好参考来编写可维护的代码(也许其他一些 SOer 可以提出建议)。希望您的工作环境良好,可以从更高级的开发人员那里获得反馈(通过代码审查或不太正式的渠道)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多