I started a new blog. I want to explore the world of O/R Mapping more closely and will report my findings in my blog O/R Mapping Adventures.
It´s a subjective view of the topic as I dig deeper into it. Although I´ll start with some simple stuff, my true interest lies in exploring more advanced scenarios like distributed systems and optimizing the loading of objects. I want to go beyond the usual trivial examples of O/R Mapping and see, how far I can go with it - and where I need to resort to good old ADO.NET. Currently my belief is, the future lies with hybrid data access: O/R Mapping + ADO.NET. But we´ll see... In any case I want to try to put O/R Mapping into perspective with application architecture. What does this approach to persistence mean for modelling code?
If you like, follow me along in my exploration. I´m open to any comments on what I´m doing.
For those who just attended my talk on Contract-first Design and microkernel usage at DevWeek 2007 in London here´s the sample code.
It implements a very simple scenario, where a user can select from a list of calculation routines a function to generate a list of numbers. But the point was not to implement sophisticated functionality; rather I wanted to show, how a solution can be split up into true components which can be developed and tested in isolation. Here´s a sketch of the application´s architecture:
All components are treated as black boxes who don´t reveal any internals to their clients. The clients just know the exported contracts of their service components, the components they are depending on.
Which contract implementation actually services a client is not hard coded in the client as usual via static references. Rather clients are either told which implementation to use by injecting it into them - or they use a microkernel/servicelocator to discover it. That way productivity and testability are much increased. And I think it´s the only way to come to a higher level of industrialization and systematic software development.
PS: This was my first time at DevWeek. And I have to say I like the conference. The delegates are quite experienced .NET developers so the general level of discussion and technical presentations is high. And the organizers are dedicated to deliver a professional event. The number of delegates speaks for itself: more than 600 attendees, the conference was sold out. Great Job, Nick!