我决定开始研究其他开发人员的代码,以提高我的编码技能。
我正在寻找一种使用MVC模式的开源软件,以及大多数可能的设计模式。
你能推荐一些用C#或VB.NET编写的开源软件,它使用尽可能多的设计模式或一些值得研究的代码吗?
答案 0 :(得分:3)
我会推荐一些像NServiceBus这样广泛使用多态的项目(更不用说NServiceBus API是我有幸使用过的最好的API之一)。还要考虑类似StructureMap的东西,它使用基于模型的配置API(我实际上使用Ninject作为我选择的IoC,并且它可以证明也有一些有趣的代码)。我很难指出这些项目是否使用特定的设计模式,以及它可能使用了多少,但我确实知道他们使用一些现代API和面向对象设计的现代方法。
但是,我会说,你最好的选择是找到一个你感兴趣的开源项目,或者你经常使用的开源项目,然后将其打开并查看是什么让它打勾。如果您熟悉使用代码的细节(无论它是什么),那么您可能会更深入地了解代码,因为您知道它在做什么。答案 1 :(得分:2)
我总是推荐.NET Domain-Driven Design with C#: Problem-Design-Solution示例代码--SmartCA项目。这是非常优雅的布局,每当我怀疑我的建筑时,我发现自己会回到它。
您还应该下载并查看ASP .NET MVC source code。它有很好的单元测试和模拟示例(这是你会发现自己想要使用的东西)。
答案 2 :(得分:1)
我建议查看Northwind入门套件(http://nsk.codeplex.com/) - 它涵盖了许多设计模式及其在.Net框架中的应用,包括SOA和MVC / MVP / PM概念。它还包括其他几个免费使用的库的示例,例如Microsoft Entity Framework和NHibernate。
我个人特别高兴他们表示同样的后端可以与WPF和ASP.Net一起使用。