Tipos que o DAL e o BLL devem passar
Apenas uma pergunta rápida. Em um ambiente de arquitetura em camadas com uma Business Logic Layer (BLL) e uma Data Access Layer (DAL), que tipos o DAL deve passar para o BLL?
Atualmente, nossas classes DAL produzem objetos DataTables e SQlDataReader (entre outros tipos de dados comuns). A conversão dos objetos para nossos tipos personalizados deve ser feita no DAL antes de passar para o BLL ou o DAL deve passar o tipo original e o BLL faz a conversão?
Estou tentando pensar em um cenário em que a camada DAL possa ser substituída por outra tecnologia no futuro. Nesse cenário, parece que o BLL deveria esperar o tipo de dados convertidos, de modo que, quando uma troca é feita, precisamos apenas garantir que nossos objetos sejam retornados?
Qualquer esclarecimento sobre isso ou materiais de leitura para esclarecer as coisas seria útil!
TIA