Take the 2-minute tour ×

I've been reading a few books on c# development over the last few months (clr via c#, architecting applications for the enterprise, c# 4 in nutshell just to give you an idea). I really feel it's been a worthwhile exercise however, at the moment, it feels like I've slightly scatterbombed my head with theory (although I have been trying to put it into practice where possible). I have worked on c# projects since .net 2.0 here and there so I have got a few years programming experience, I'm just really making an effort now to try and get to the next level. What I find hard to do sometimes is putting it altogether.

What I was hoping to find was some sample project or maybe an open source project or something similar that tries to tie all these aspects of development together in a large project that deals with a fairly complex problem (100s of classes preferably although i know this is not a good yardstick for complexity), in a true object oriented sense, that includes generics, delegates, web services, some different design patterns, linq or nhibernate etc etc, mvc 3/4, with documentation and unit testing... one can dream

So is that possible? (edit: without writing it myself)

share|improve this question
Have you looked for any open source projects with the criteria you specified? You should be able to find all of the open source projects developed in C# on sites like SourceForge or CodePlex. –  Bernard Feb 13 '12 at 21:42
hi bernard. Yeah I suppose open source is without doubt the best place to look. I'd happily take recommendations from people here on one's they've worked on which fit the above criteria. I'm browsing on codeplex as I type.. –  user47646 Feb 13 '12 at 21:52
add comment

2 Answers

Maybe a good, complex OSS project that you can take a look at is FubuMVC. All of the code is up on github and it's fair complex. Jeremy does a pretty good job of writing concise code, there are unit tests (though it uses StoryTeller for at least some of them).

Orchard is another project that might be worth checking out. I doubt the code is as easy to read but it's pretty complex and offers a lot of functionality.

Generally, I would suggest finding something that solves a pain point for you or something you're interested in and find a project that fits that. Then you can dig in, maybe add some features, and really understand what's going on. All of my OSS contributions, including the projects I run, are from pain points or unfulfilled needs within the community.

share|improve this answer
Thanks Travis. I'm taking a Fubu now. great project. From finding a similar question to the one I posed it looks like project suggestions aren't for this site so this will probably be closed shortly. Thanks for your suggestoins though –  user47646 Feb 13 '12 at 22:28
add comment

Trying to find a project that pulls all of those technologies together at time time might only be more confusing as now you are trying to understand the actual implementations of all of those concepts while at the same time trying to understand the overall application.

My personal approach to new technologies and concepts is to take them in small bites. Pick one to three topics (depending on their scale) and put together an application that not only uses them but tries to use them to their limits. This lets me get a much deeper understanding of the individual technologies. Once I understand something, I work to include it in my regular coding where/if it makes sense.

Quite often an application that was created to understand one topic becomes the starting point for understanding another topic. This eventually becomes the application you were looking for, just without the overload of trying to understand everything all at once.

share|improve this answer
add comment

Your Answer


