Hi, I'm writing a 3 tier product that is set to evolve in functionality over
several years as more modules are developed and optionally integrated. I
therefore need an easily maintainable and manageable design model.

I have a root object in the data layer that deals with all data retrieval
requests and returns typed datasets.

I have a root object in the business layer that does the same.

It seems like a good idea to derive the BL root from the DAL root and
override/add methods to the BL root accordingly.

Does anyone have a good counter argument