Just sharing some of my inconsequential lunch conversations with you... RSS  

Saturday, June 30, 2007

NHibernate assessment

Now that my my first NHibernate implementation is entering the QA stage, it's probably time to share some thoughts with you.

What went ok:

  • there was practically no impact on the team due to the paradigm change;
  • on the beginning, the artifact the team missed the most was the database diagram, that was deliberately substituted by the static class diagram; that database diagram lack was soon forgotten by whole of the team;
  • the domain model was expressed with great ease;
  • search forms were just easy and natural to develop;
  • the lazyload mechanisms to transverse the domain model was used and abused whenever performance issues were not applicable;
What didn't:
  • we lost the capability to override CRUD operations (ex: we can't just rewrite some class Add method, filling some data and calling base.Add);
  • the OR/M performance overhead just can't be missed on bulk operations;
  • we couldn't find the right software factory for this project, so we decided to develop some CodeSmith templates from scratch to facilitate the data dictionary to HBM, domain model and basic CRUD presentation code;
It's a sure bet for this type of projects. We're now ready for the next leap LINQ offers us. LINQ is such a compelling technology that we daily miss it before even using it :)

No comments:

Development Catharsis :: Copyright 2006 Mário Romano