¿Cuál es la diferencia entre DAL, DTO y DAO en un estilo de arquitectura de 3 niveles que incluye MVC?