First and foremost – I am not working, i am on parental leave. That means this is my spare time project and I promised myself that I would end it if I didn’t feel up to it for some reason. Since I have found it hard to restart I conclude that I have reached that point.
Secondly – the main reason and purpose of the project was to learn, not to produce a wonder-application (although that would have been nice :)). I think that I have learned quite a lot during this project and that I am at a junction right now. You cannot pursue at depth in all directions.
OK – what was my learning goals and where have they taken me?
The main purpose was to look into Domain Driven Design. I feel that I have got a nice grasp around that subject – and I most certainly want to learn more. I’ll write a separate post about my thoughts on DDD and it’s implications on your project.
When I started the Sprint Planner Helper project I liked test. Now they are a part of the way I code. Over and over again you are struck by the fact that doing test first actually improves your code quality and helps you find flaws in your code early. I like that. Might be a post on these findings also.
Finally a web framework from Microsoft that I understand! I’ve been doing WebForms on and off during several years and still don’t get it. Actually I don’t think many do (how many developers does fully understand the implication of this…)
After doing ASP.NET MVC during this project I can honestly say that I will surely continue and never look back. Also the community is exploding with examples, code and projects that will assist you in creating great code. And of course the introduction Nerd Dinner chapter.
I am ridiculous proud of being the number one hit on this search. Before the actual book it self!!!
Eeeh – you can’t win them all, now can you? Actually this was the one thing that I pretty soon abandoned. Not that I don’t like the rules and the way they improve your code quality but it was one thing to much to think about.
I think that if you want to learn this you’ll need to do a separate project that solely focus on extreme OOP. And that would be quite fun.
Actually, in the PDF i am linking to above, you find an exercise that’ll get you started.
Where to go now
Some other reasons for me to stop is that I have found some great resources that is much more ambitious than my feeble tries. Here are a short list of them. Be sure to check them out, I know I will:
- Sharp-architecture – an base architecture that let’s you build web applications with ASP.NET MVC and NHibernate. Here is an introduction video.
- ASP.NET MVC Contrib – this is a project on CodePlex that collects “nice to have” features for ASP.NET MVC, such as grid helper methods, validators, routing engines and view engines etc.
- InfoQs book on Domain Driven Design
So I hope that anyone who has read this has enjoyed it for as long as it lasted. I know that I have learned a lot and that doing this project has made me a better developer.
The code will still be available at http://sprintplannerhelper.codeplex.com/, if not contact me to get it. I might even re-start the project later.