MiniCore Logística S.A.

Arquitectura de Software Homologada al Repositorio Git

Wilson Egas (UDLA)

`EnvioFactory` (Factory Method)

Instancia polimórficamente las clases derivadas de envío leyendo los specs dinámicos.

Inyección en Entidades (`Core`)

• Año Fiscal Inyectado: 2026

• Campos Expansión Sprint: 20

• Patrón de Persistencia: `ILogisticaRepository` activo

Capa de Persistencia Volátil en Memoria

💡 Acciones disponibles: Ver trazabilidad detallada de los 20 campos o eliminar el registro de la memoria del repositorio.

0 Envíos
GUID Paquete Tipo Objeto Ruta Asignada Costo Operativo Año Control Acciones transaccionales

Instancia objetos desde la factoría para activar la persistencia del repositorio.

Configuración de Inyección de Dependencias de Negocio

Modifica la metadata estructurada para simular cambios de requerimientos en tiempo de ejecución.

Principio de Extensibilidad

Al estructurar las propiedades del MiniCore en un diccionario mapeado dinámicamente, demuestras el cumplimiento estricto del principio de **Inversión de Dependencias (DIP)**.

Arquitectura de Software - Sustentación MiniCore Logística

1. Single Responsibility Principle (SRP)

Cada clase de modelo (Envio, Repartidor, Zona) tiene una única responsabilidad de datos. El LogisticaController solo orquesta la lógica de presentación, mientras que ApplicationDbContext gestiona exclusivamente la persistencia.

2. Open/Closed Principle (OCP)

El sistema está abierto a extensión mediante herencia de tipos de envío (Estándar, Express, Internacional) y cerrado a modificación. Nuevos tipos se agregan como subclases sin alterar la factoría base.

3. Liskov Substitution Principle (LSP)

Los objetos EnvioExpress e EnvioInternacional sustituyen a Envio en cualquier contexto de la capa de persistencia sin alterar el comportamiento esperado del sistema.

4. Interface Segregation Principle (ISP)

La interfaz ILogisticaRepository expone únicamente los métodos requeridos por los consumidores, evitando dependencias en métodos no utilizados por las implementaciones concretas.

5. Dependency Inversion Principle (DIP)

El LogisticaController depende de la abstracción ApplicationDbContext inyectada via constructor, no de implementaciones concretas. La configuración dinámica de propiedades refuerza este principio en tiempo de ejecución.

Estructura del Repositorio Git

MiniCoreLogistica/

├── Controllers/ LogisticaController.cs

├── Data/ ApplicationDbContext.cs

├── Models/ Envio.cs | Repartidor.cs | Zona.cs

├── Views/Logistica/ Index.cshtml

└── Program.cs

MiniCore.html (Interfaz demostrativa web)

Autor: Wilson Egas — UDLA  |  Arquitectura de Software