January 23, 2010

New Year, Fresh Start

Well, another year has rolled around, and before I know it the first month has already blown by. How time flies!

I started blogging last year and, not being much of a writer, I decided to try to inspire some topics by inspecting and changing the code of the very tool I was using to blog. So I started using BlogEngine.net both as a blogging platform and as a refactoring experiment.

As you can see, I'm not doing that any more. As I delved deeper into the BlogEngine.net code, refactoring as I went, I was also learning more about SOLID programming principles such as the Dependency Inversion Principle and the Single Responsibility Principle. As I became more familiar with the BlogEngine.net codebase, I was also becoming more comfortable with Domain Driven Design concepts such as Entities and Repositories.



The result was that, over time, I could see that BlogEngine.net was not written in a manner that accommodates SOLID or DDD strategies. Short of completely gutting the project and rewriting core components from scratch, there was not going to be any Inversion of Control. Unit testing is next to impossible.In the meantime, ASP.NET MVC was released, and is now closing in on a v.2 release. I have a couple of side-projects I'd like to build, and I guess I'm just ready to move on.

So, as of this post, I've moved over to Blogger, at least for now. :-) I don't feel that my experiment with BlogEngine.net was a failure, though. On the contrary; I learned a lot. Being exposed to different programming styles is a good thing, and I feel a greater appreciation for the styles I've chosen. And while BlogEngine.net works great for those who've written it, it's ultimately not for me.

(For the record, this is my 3rd blogging platform in 3 years, spanning a total of 14 posts. Note to self: write more.)