Anyone know any open source c#/asp.net projects that are well documented, use design patterns appropriately and contain the best practices? I want to read high quality code, learn from it and apply it to my job.
Thanks.
Anyone know any open source c#/asp.net projects that are well documented, use design patterns appropriately and contain the best practices? I want to read high quality code, learn from it and apply it to my job.
Thanks.
In my experience, you will not learn what you want by reading code, even if it's good quality code. If nothing else, the comments in such code will more likely be about what the code is trying to accomplish, and less about how the code properly used the design pattern.
If you want to learn design patterns, then you need to look at something that intends to teach you design patterns. It's possible that there is some body of code which has this purpose in mind, and perhaps someone can point you to it. It just seems unlikely to me that a piece of code that is good at one thing will also happen to be good at teaching you design patterns and best practices.
For me learning by reading other people's code is akin to learning to build by visiting places, or cooking by going to restaurants - it is very hard to understand the fundamentals of anything through the end result.
You could check The Weekly Source Code on Scott Hanselman's blog. He regularly lists projects worth looking at.
I would have to say the umbraco cms. I really love their data access and presentation layer. It is a MIT license so I use it in my code. Also, the code is well commented out so beginners can pick up whats going on in the code.
The best to learn is find someone in your company that is experienced and have regular code reviews. Also ask to get on his/her distribution of code reviews you may not be able to critique their work but you will get to learn about your company's "best practices" with the added benefit of understanding the internals of your own project.
If you just want general knowledge of patterns that you have not used before this site may help you out.
Read books , read blogs and write code that is how you will learn design patterns and programming in general
Check Blog Engine and Das Blog , both are open source high quality asp.net blogs. I personally like how blog engine handles blog settings , XML&SQL Data Providers etc. Both are good read...
Also DotNetNuke is open source as far as i know but somehow i never wondered and checked that. Should be good tho , it's been out there for a long time and well known.