Crazy about frameworks


I’m getting more serious about the DRY and “not reinventing the wheel” way of thinking. And I’m getting more crazier about frameworks. Which one to use, which one not to use. Recently, my time has been spent more and more on researching and studying about the available frameworks out there. I’ve yet to decide on what to use though. For C#/.NET, I’m looking on Castle and the Microsoft supported Enterprise Library. Both are capable of supporting or being part of an MVC architecture, which is really great. Both support winforms and ASP.NET, and they’re free.

Enterprise Library features application blocks for caching, logging, data access, exception handling, and security. The latest version adds policy injection and validation. For starters, these application blocks are the most common things that we, as application architects and developers, have to code through before actually focusing on the most important part, business logic. I mostly focused on the data access and exception handling block. Data access incorporates database abstraction, quite important for flexible applications. Exception handling is one step forward for separating exception handling policies from your actual code.

My other choice, Castle, will most likely be my final choice. Castle’s ActiveRecord, built over NHibernate, implements the active record pattern. I’ve been exposed to the active record pattern since the old but still popular VB6. The implementations back then were a bit hard though and quite bug friendly. Castle’s ActiveRecord eases implementation of the pattern. For me, it’s much easier to use than Enterprise Library’s data access application block. I still have much to learn on using Castle, and I’m already impressed on what it can do.

For my PHP studies, which I should really be doing soon, I’m looking on using CakePHP or CodeIgniter. From what I heard, Ruby on Rails was based on CakePHP . A friend of mine, an experienced PHP developer, recommended CodeIgniter though. CodeIgniter’s code base is much cleaner than CakePHP. There are also some complaints I found on the Internet about the lack of documentation for CakePHP. So I guess this means I’m gonna take on CodeIgniter first. I believe both frameworks also implement the active record pattern. I’ll post my research findings on this soon.