使用C#设计模式

我打算在工作中学习C# – 一个中等复杂的(2000行代码)项目。 我有兴趣在整个过程中选择“设计模式”。

任何人都可以建议一本不会承担太多c#专业知识并教授设计模式的书吗? 如果这本书不是专门用于设计模式,那就没关系(它可能是章节之一)。

一本优秀的书是Head First Design Patterns 。 易于理解和遵循,有趣的阅读。

GoF书就是这一切的起点,但我发现它非常干燥且难以掌握。 不是我建议学习的东西。

示例是Java,但概念很好。

你甚至可以得到C#的例子 。

HEAD First Series是一个很好的起点

我想说请使用HEAD First OOAD书

设计模式实际上与语言无关 。 它们与特定语言无关。 因此,例如任何适用于Java的设计模式也适用于C#。

当然有一些模式适用于特定的语言/技术,如MVVM,但我不认为你是用WPF或Silverlight编写的,对吗? 对于Web,您可以选择使用MVC而不是WebForms。

关于书籍,你可以看一看

  • 面向对象的思维过程,(第3版)
  • 傻瓜的设计模式

由于C#是一种完整的OO语言,因此您必须适应OO设计原则和模式。

我同意其他答案,即设计模式与语言无关。 然而,来自C#背景,我发现Steven John Metsker的 C#设计模式是一本很好的读物,对你来说很重要。

“设计模式”四人帮。

我强烈推荐这个网站的设计模式,反模式UML和重构

http://sourcemaking.com/

结构良好,易于阅读!!

显而易见的选择是C#中的设计模式 ,但我没有阅读它,所以我不能评论它的质量。

编辑:正如Popo所提到的,Design Patterns本书是学习设计模式的好方法,但代码不在C#中: 设计模式:可重用面向对象软件的元素

关于设计模式有几本好书(已经提到过一些)。 我实际上有四个左右。 在学习模式时,我喜欢在不止一本书中阅读它。 通常情景和示例会有所不同,这有助于更好地理解。 Wikipedia.org也是一个非常好的资源。

也就是说,我喜欢花一些时间阅读与模式相关的代码。 显示平台优势的代码很明显,原因很明显。 当你在它时,请查看http://www.dofactory.com 。 如果您希望将GoF和其他企业模式应用于某些真正的编码问题,那么该网站非常出色。 您必须为参考应用程序和设计模式解决方案付费,但有一些示例与Head First书籍,GoF工作以及他们称之为利用.NET的优化变体有关。

我觉得有些书很有用:

  • 头脑设计模式:获得创意的好书。
  • C#3.0设计模式 (Judith Bishop):不是我最喜欢的代码示例,但通常会有一些关于将模式与其他相关模式进行比较的好处,以及为什么你可以选择一个模式而不是另一个模式。
  • 设计模式(Christopher G. Lasater) :一本非常好的书,直截了当。