Presentación de la clase "Lógica de Negocio" de la materia "Arquitectura de Proyectos IT" dictada en la Universidad Tecnológica Nacional, Facultad Regional Buenos Aires (UTN FRBA).
7. BPM & Workflow
Diagrama de Deploy
Data examples
Diagrama de Capas
Story test
Abstracción
Diagrama de Clases y Secuencia
Prototypes
Unit Test DSL
Código OO
Esquema de Base de Datos
Tecnología Negocio
8. 10 minutos
Introducción
30 minutos
Diseño de la Lógica de Negocio
45 minutos
Arquitectura de la Lógica de Negocio
25 minutos
Tipos de Arquitectura
9. Common Common
SOLID DRY
Closure Reuse
Stable Separation
KISS YAGNI
Abstraction of Concerns
10. Single Responsability Principle
Open Close Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
12. Keep it Simple… stupid
Evitar complejizar el problema de forma
innecesaria
Un modelo simple es siempre más fácil de
mantener
13. You ain’t gonna need it
No añadir funcionalidad extra que no vamos
a utilizar
Desventajas de implementar algo “a futuro”
Más tiempo de Testing
Más tiempo de documentación
Añadir funcionalidad extra, puede requerir
añadir además, más funcionalidad extra
14. Las clases que se usan juntas, se empaquetan
juntas
Apunta a la Modificabilidad
Permite facilidad de distribución y actualización
21. Separa la lógica de negocio de aspectos intrusivos.
Parametriza fuera del código los componentes
arquitecturales.
Me concentro en el qué y no en el cómo.
[Required]
<Button Width="102" public void Email(string email)
Height="31" {
Click=“OnClick” /> this.Email = email;
}
22. Puedo manipular la lógica utilizando Reflection
Modifica el comportamiento de mi aplicación
Me permite extender mi aplicación
23. 10 minutos
Introducción
30 minutos
Diseño de la Lógica de Negocio
45 minutos
Arquitectura de la Lógica de Negocio
25 minutos
Tipos de Arquitectura
33. Transversal
- Interfaz de Usuario
- MVC / MVP / MVVM Presentación
- Capa de Servicios Distribuidos
- Fachada de nuestra lógica Servicios
- REST / SOAP
- Aspectos
Horizontales
- Coordina actividades de la Aplicación
- Impactan en - No incluye lógica de Negocio Aplicación
toda la App. - Coordina servicios de la capa de nivel inferior
- Favorece la
reutilización
- DI / AOP
- Implementa la funcionalidad principal de nuestro Sistema
- Es quien cuenta con las Entidades de nuestro Negocio
- Recordar que las operaciones nacen del modelo Ubicuo Dominio
- Totalmente aislado de los componentes de Infraestructura
- Centraliza el acceso a los datos
- Desacopla la tecnología utilizada Persistencia
- DAOs / Repositorios / ORM / DataMapper / ActiveRecord
34. Transversal
- Interfaz de Usuario
- MVC / MVP / MVVM Presentación
- Capa de Servicios Distribuidos
- Fachada de nuestra lógica Servicios
- REST / SOAP
- Aspectos
Horizontales
- Coordina actividades de la Aplicación
- Impactan en - No incluye lógica de Negocio Aplicación
toda la App. - Coordina servicios de la capa de nivel inferior
- Favorece la
reutilización
- DI / AOP
- Implementa la funcionalidad principal de nuestro Sistema
- Es quien cuenta con las Entidades de nuestro Negocio
- Recordar que las operaciones nacen del modelo Ubicuo Dominio
- Totalmente aislado de los componentes de Infraestructura
- Centraliza el acceso a los datos
- Desacopla la tecnología utilizada Persistencia
- DAOs / Repositorios / ORM / DataMapper / ActiveRecord
35. Transversal Controller Model
Presentación
View
Caching
Web
DTOs Servicios
Services
Security
Application Services
Aplicación
Domain Services
Logging
Entities Rules Dominio
Repository Contracts
IoC
Repository Core
Persistencia
36. Transversal Controller Model
Presentación
View
Caching
Web
DTOs Servicios
Services
Security
Application Services
Aplicación
Domain Services
Logging
Entities Rules Dominio
Repository Contracts
IoC
Repository Core
Persistencia
Aunque a veces encontramos esto!!!
37. División lógica por módulos
Separa Responsabilidades y Dependencias
Módulo A Módulo B Módulo C
Equipo A Equipo B Equipo C
38. Presentación Presentación Presentación
Negocio Negocio Negocio
Recursos Recursos Recursos
Módulo A Módulo B Módulo C
47. Command Query Responsibility Segregation
¿Qué pasa si tenemos pocos usuarios
actualizando los datos pero muchos leyendo?
¿Por que complejizar y comprometer
performance por transformaciones sin sentido?
55. Proveedor
Organización App 1 App 2 App 3
VM VM VM
Cloud Platform
Cloud Storage / Network
Organización
usuarios
App 1 App 2
VM VM App 3
Private Cloud
Storage / Network
56. 10 minutos
Introducción
30 minutos
Diseño de la Lógica de Negocio
45 minutos
Arquitectura de la Lógica de Negocio
25 minutos
Tipos de Arquitectura