Hola Leandro, me parece que es medio confuso lo que decís y coincido con lo que te dicen ambos Carlos.

Hablar cliente-servidor para mi significa hablar de un sistema de 2 capas físicas (tiers) pero estas tranquilamente pueden estar implementadas en varias capas lógicas (layers). Por eso vos podés tener un thin client o un fat client, según donde pusiste las capas lógicas si en el cliente o en el servidor.

Quizás vos estás usando la terminología de distinta forma.

Como ya dijo Carlos Peix, REST no dice nada de en cuantas capas lo vas a implementar (si querés ver un ejemplo de REST con implementación en capas fijate en los ejemplos de Ruby on Rails (de la versión 2.0 en adelante)).

Leí sólo un poco y muy por arriba el link que mandaste de EntityBag (y tengo muy poca idea de EF) pero yo interpreto que la idea es usarlo en una aplicación en capas, y fijate que no expone directamente los datos sino que expone objetos (entidades), que justamente es la idea del Entity Framework (o cualquier otro ORM).

Además de esto, lo opuesto a una aplicación hecha en capas no es una data céntrica sino una monolítica.

Tampoco coincido en que sea tan engorroso armar algo en capas, lo que si puede llegar a ser un infierno es mantener algo que *no* esté hecho en capas....en todo caso si hay algo que es repetitivo se podrá usar un generador de código (o habrá un framework que lo solucione). ObtenerTodosEmpleados(), ObtenerEmpleadorPorRango(), ObtenerEmpleadosPorArea()....y por qué no ObtenerEmpleados(Specification) o algo tipo Repository<Empleados>.Obtener(Specification)

Creo que ahora hay muchísimas herramientas y frameworks que hacen que desarrollar en capas sea mucho más fácil. Y que algunas capas sea muy poco o casi nada lo que hay que hacer para tenerlas.

Saludos,

Pedro


Responder a