从哪里可以学习设计模式和最佳实践的C#代码?

5

有人知道哪些开源的C# / ASP.NET项目文档详尽,合理地使用设计模式并包含最佳实践吗?我想阅读高质量的代码,从中学习并应用到我的工作。

9个回答

6
根据我的经验,即使是质量很好的代码,阅读代码也不会让你学到想要的东西。如果没有其他内容,这类代码中的注释更可能是关于代码试图完成什么任务,而不是如何正确使用设计模式。
如果你想学习设计模式,那么你需要查看一些旨在教授设计模式的内容。可能有一些代码体系专门为此目的而设计,也许有人可以指引你找到它。但对我来说,一个擅长某一项任务的代码也许并不适合教授设计模式和最佳实践。

6

我强烈推荐阅读Framework Design Guidelines (by Cwalina and Abrams)

alt text

他们设计了大量的.NET基础类,并且详细讨论了API的可用性。这本书很容易阅读,重点介绍了.NET框架中的许多注意事项。如果你缺钱,那么可以从msdn获取一些免费的指南。

1
当我说“读一本书”来学习设计模式时,我指的是他应该阅读《GOF》。而对于最佳实践,“框架设计指南”是我所指的书! - John Saunders

4

阅读书籍、阅读博客并编写代码,这就是您学习设计模式和编程的方法。


2
许多年轻的开发者不喜欢阅读。他们都是“随机访问”,“中断驱动”和“谷歌启用”的。顺序阅读对他们来说是陌生的。 - John Saunders
1
我19岁,还在上大学,空闲时间喜欢读书。我通过阅读书籍自学了ASP.Net和C#。 - Hannoun Yassir

2

对我而言,通过阅读他人的代码来学习就像通过参观地方来学习建筑或通过去餐厅用餐来学习烹饪——很难通过最终结果来理解任何基本原理。


2
你可以在 Scott Hanselman 的博客上查看 The Weekly Source Code。他经常列出值得关注的项目。

3
没错,但是这些项目会教他设计模式和最佳实践吗? - John Saunders
很好。我实际上同意你的回答,关于模式的具体点 - 一本书会更好。我将他的“和”解释为“或”,即“有良好的文档记录,适当使用设计模式并包含最佳实践”! - Mathias
在我看来,最佳实践也是如此。它们很可能被使用,而不需要解释。他需要解释! - John Saunders

2

我必须说,Umbraco CMS 是我最喜欢的 CMS 之一。我非常喜欢它们的数据访问和表示层。它是 MIT 许可证,所以我在我的代码中使用它。此外,代码有良好的注释,初学者可以理解其中的内容。


它实际上是教授设计模式和最佳实践,还是只是在不加解释地悄悄使用它们? - John Saunders
它并不教授设计模式,但我非常确定任何对设计模式感兴趣并且有一定了解的初学者程序员肯定能够理解正在发生的事情。 - user161433
楼主说:“我想阅读高质量的代码,从中学习并应用到我的工作中。”“弄清楚发生了什么”不是他要求的,就我所知。我差点因为这个原因给你的回答点了踩。 - John Saunders
“有人知道哪些开源的C#/ASP.NET项目有很好的文档吗?” Umbraco是一个开源项目,他可以阅读Umbraco发布的代码。没错! - user161433

2
最好的学习方法是找到公司里有经验并进行定期代码审查的人。同时请求加入他/她的代码审查分发,即使你无法对他们的工作进行批评,你也可以了解公司的“最佳实践”,并获得理解自己项目内部的额外好处。
如果你只是想了解以前没有使用过的模式的一般知识,这个网站可能会对你有所帮助。

http://entlib.codeplex.com/


感谢您的建议和链接。我喜欢这个网站! - burnt1ce

1

1

请查看 Blog EngineDas Blog,两者都是开源的高质量 asp.net 博客。我个人喜欢博客引擎如何处理博客设置、XML&SQL 数据提供程序等内容。两者都很不错...

另外,据我所知 DotNetNuke 也是开源的,但不知道为什么我从未想过去查看它。应该也很不错,毕竟已经存在了很长时间并且很有名气。


如果DotNetNuke和PHPNuke以前一样(我已经多年没有查看过源代码),那么它很糟糕。 - LJNielsenDk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接