I spoke this morning at the patterns & practices Summit about data access. As I described this morning, I've mostly been working in the area of Web Services for the past number of years and didn't keep up too much with the advances in data access and UI development. I'm going to be kicking off a p&p project in the coming weeks focusing squarely on your options for dealing with data in your .NET applications.
As I've come to appreciate in many aspects of my life, once you get your head in the right place ... you know, that place where everything is just resonating ... well, if you can get there, everything just seems to go smoother. So I wanted to share with everyone where my head was around data access, so they could help it get to the right place.
The premise of the talk was a correlation I made between 2 core qualities we all have as software builders (creativity & resourcefulness) and 2 major forces that have influenced software construction for decades (more abstraction layers & separating concerns). In other words, you only have to look at 2 of our strengths to understand why we've choosen these approaches (zooming out & pulling apart) in order to address increasing complexity.
When you look at the specific advances that are the result of our creativity and resourcefulness, you find Dependency Injection, Aspect Oriented Programming, Domain Driven Design, Test Driven Development, etc. It could just be my perspective, but it feels like Object Relational Mapping, Repositories, etc are lagging behind. I understand it's a difficult space to get right. So, that was my justification for being excited about the opportunity to make a difference in it.
I enjoyed giving the talk. They were a great group and it was a good discussion (and it's still going). Hopefully, I was thought-provoking enough ... but even if they just sat there wondering how I get my hair to stick up like that ... I guess that's okay too.