Patterns of Enterprise Application Architecture Flashcards
Nombrar las 4 formas de organizar la logica del negocio
- Transaction Script
- Domain Model
- Table Module
- Service Layer
Explicar Transaction Script
- Orientado a programacion estructurada
- 1 procedimiento por cada accion
En este patron, cada accion o transaccion se implementa como un procedimiento (script) independiente que procesa la entrada del usuario, accede a la base de datos, ejecuta la logica del dominio y formatea el resultado para su presentacion en la interfaz de usuario.
Cuales son las pros y cons de Transaction Script?
+ Simple
+ Poco overhead: buena performance
- Duplicacion de codigo entre scripts
- Mas logica de negocio = mas logica condicional
Explicar Domain Model
- Orientado a objetos
- Una instancia por cada ocurrencia de un concepto del dominio
- Este patron representa una clase para cada concepto o entidad del dominio, y cada instancia de la clase representa una ocurrencia especıfica del concepto.
Cuales son las pros y cons de Domain Model?
+ Varias tecnicas para manejar logica compleja (ej: polimorfismo)
- Mapeo compleo con la DB
Explicar Table Module
- Orientado a datos
- Un modulo por cada entidad de datos
- La logica del domino es organizada segun la estructura de los datos
- Organizar la logica de negocio segun la estructura de las tablas de la base de datos
- Porporciona metodos para interactuar con la base a a traves de Record Sets
Dado que cada modulo representa una entidad de datos y agrupa todas las operaciones relacionadas con ella, Table Module facilita la organizacion de la logica de dominio en la aplicacion. Esto contribuye al mantenimiento de un codigo limpio y bien organizado.
Cuales son las pros y cons de Table Module?
+ Facilita la organizacion de la logica de dominio
+ Facilita el manejo de los datos de la base de datos en la aplicacion gracias a los RecordSets
- No aprovecha las herramientas de OOP
Explicar Service Layer
Se utiliza para definir la frontera o interfaz de programacion de aplicaciones (API) de la aplicacion.
El Service Layer se encarga de coordinar las respuestas a las solicitudes de los clientes, controlar los recursos transaccionales (si es necesario) y gestionar cualquier logica de negocio que deba ocurrir antes o despues de interactuar con el dominio.