Eu tenho um projeto de várias camadas composto por três subprojetos, ou seja, projeto de acesso a dados, projeto de lógica de negócios e projeto de apresentação, onde as interfaces devem ser definidas? Estou supondo que devam existir interfaces definidas no DAL e no BLL. No contexto de testar a camada lógica de negócios usando dados de "teste" baseados na interface, parece que talvez deva haver um projeto separado com apenas o interfaces?
Alguma prática recomendada ou idéia de como isso deve ser organizado?