Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Recommended open-source software to study C# and design patterns (MVC and others) [closed]

I decided to start studying code from other developers to improve my coding skills.

I'm looking for a open-source software that uses MVC pattern, and also most design patterns possible.

Could you recommend some open-source software written in C# or VB.NET that uses as many design patters as possible or some code that worth studying?

like image 732
RHaguiuda Avatar asked Jun 26 '10 00:06

RHaguiuda


2 Answers

I would recommend some projects like NServiceBus, which make extensive use of polymorphism (not to mention the NServiceBus API is one of the best APIs I've had the pleasure of using). Also consider something like StructureMap, which uses a model-based configuration API (I actually use Ninject as my IoC of choice, and it could prove to have some interesting code as well). It's hard for me to point out whether or not these projects use specific design patterns, and how many it may use, but I do know that they use some modern APIs and modern approaches to object oriented design.

I would say, though, that your best bet is going to be to find an open source project that you find interesting, or that you use regularly, and crack it open and see what makes it tick. If you are familiar with the details of using the code (whatever it may be), then you will probably gain more insight be looking at the code because you know what it is doing.

like image 111
ckramer Avatar answered Oct 20 '22 03:10

ckramer


I always recommend .NET Domain-Driven Design with C#: Problem-Design-Solution sample code - SmartCA project. It is extremely elegantly laid out and I find myself going back to it whenever I have doubts about my architecture.

You should also download and check out ASP .NET MVC source code. It's got good examples of unit testing and mocking (which is something you will find yourself wanting to use).

like image 40
Igor Zevaka Avatar answered Oct 20 '22 03:10

Igor Zevaka