I am in the middle of a \"discussion\" with a colleague about the best way to implement the data layer in a new application.
One viewpoint is that the data layer should
Jeffrey Palermo wrote a good post about this. He called it Onion Architecture.