我决定学习其他开发者的代码,以提高我的编程技能。 我正在寻找一个使用MVC模式,并且尽可能多地使用设计模式的开源软件。 你能推荐一些用C#或VB.NET编写的尽可能多使用设计模式的开源软件或值得学习的代码吗?
我建议一些类似于NServiceBus的项目,它们广泛使用多态性(更不用说NServiceBus API是我使用过的最好的API之一了)。还可以考虑像StructureMap这样的项目,它使用基于模型的配置API(我实际上使用Ninject作为我的IoC选择,它也可能具有一些有趣的代码)。很难确定这些项目是否使用特定的设计模式以及它们使用了多少个,但我知道它们使用了一些现代API和面向对象设计的现代方法。不过,我认为你最好的选择是找到一个你感兴趣或者经常使用的开源项目,打开它并看看它是如何运转的。如果你熟悉使用代码的细节(无论它是什么),那么通过查看代码,你可能会获得更多的见解,因为你知道它在做什么。
我总是推荐.NET领域驱动设计与C#:问题-设计-解决方案示例代码 - SmartCA项目。它的布局非常优雅,每当我对自己的架构有疑问时,我都会回头查看它。你还应该下载并查看ASP .NET MVC源代码。它有很好的单元测试和模拟示例(这是你会发现自己想要使用的东西)。
我建议您查看Northwind Starter Kit(http://nsk.codeplex.com/)-它涵盖了许多设计模式及其在.Net框架中的应用,包括SOA和MVC / MVP / PM概念。 它还包括几个其他免费使用的库的示例,例如Microsoft Entity Framework和NHibernate。我个人特别满意他们展示了相同的后端如何与WPF和ASP.Net一起使用的方式。