It
is a bad thing, it gives you a
god object that knows about everything there is to know about data. That's the role of a whole DAL assembly! Put your interfaces and abstract classes under some
MyApp.Abstract
namespace. The DAL's client doesn't even need to know there's a
database involved, the data might as well come from
avian carriers, it couldn't care less - it doesn't even care that the DAL is implementing the very same
service interfaces it's using. In fact, it doesn't even know there's a DAL. Inversion of Control! —
Mat's Mug 5 mins ago