SlideShare una empresa de Scribd logo
SISTEMAS
PRESENTADA POR: FRANCISCO ALEXANDER GIRALDO
CLEAN CODE- CAP 11
• EN ESTE CAPÍTULO SE VERÁ COMO MANTENER LA LIMPIEZA EN NIVELES SUPERIORES DE
ABSTRACCIÓN.
SEPARACIÓN DE ASPECTOS
• PARADIGMA DE PROGRAMACIÓN, DONDE SE BUSCA UNA ADECUADA MODULARIZACIÓN DE LAS
APLICACIONES Y UNA MEJOR SEPARACIÓN DE RESPONSABILIDADES.(ELIMINAR DEPENDENCIAS
ENTRE CADA UNO DE LOS MÓDULOS).
• “LOS SISTEMAS DE SOFTWARE DEBEN SEPARAR EL PROCESO DE INICIO, EN EL QUE SE CREAN LOS
OBJETOS DE LA APLICACIÓN Y SE CONECTAN LAS DEPENDENCIAS, DE LA LÓGICA DE EJECUCIÓN
QUE TOMA EL TESTIGO TRAS EL INICIO”
SEPARAR EL MAIN
• SEPARAR LA CONSTRUCCIÓN DEL USO, CONSISTE EN TRASLADAR TODOS LOS ASPECTOS DE LA
CONSTRUCCIÓN A MAIN Y DISEÑAR EL RESTO DEL SISTEMA SUPONIENDO QUE TODOS LOS
OBJETOS SE HAN CREADO Y CONECTADO CORRECTAMENTE.”
• EL FLUJO DE CONTROL ES FÁCIL DE SEGUIR,
LA FUNCIÓN MAIN CREA LOS OBJETOS NECESARIOS,
LOS PASA A LA APLICACIÓN Y ESTE LOS UTILIZA.
FACTORÍAS
• UNA FACTORÍA ES UN OBJETO QUE MANEJA LA CREACIÓN
DE OTROS OBJETOS. LAS FACTORÍAS SE UTILIZAN CUANDO
LA CREACIÓN DE UN OBJETO IMPLICA ALGO MÁS QUE UNA
SIMPLE INSTANCIACIÓN.
• CUANDO LA APLICACIÓN TENGA QUE SER RESPONSABLE
DE LA CREACIÓN DE UN OBJETO
INYECTAR DEPENDENCIAS
• UN OBJETO NO DEBE SER RESPONSABLE DE INSTALAR DEPENDENCIAS, SINO QUE DEBE DELEGAR
ESTA RESPONSABILIDAD EN OTRO MECANISMO AUTORIZADO, DE MODO QUE SE INVIERTE EL
CONTROL.(RUTINA MAIN O UN CONTENEDOR DE PROPÓSITO ESPECIAL)
INYECCIÓN DE DEPENDENCIAS
• ES UN PATRÓN DE DISEÑO ORIENTADO A OBJETOS, EN EL QUE SE SUMINISTRAN OBJETOS A UNA
CLASE EN LUGAR DE SER LA PROPIA CLASE QUIEN CREE EL OBJETO.
• LA FORMA HABITUAL DE IMPLEMENTAR ESTE PATRÓN ES MEDIANTE UN "CONTENEDOR DI" Y
OBJETOS PLANOS O SIMPLES POR EJEMPLO LOS LLAMADOS POJO EN JAVA. EL CONTENEDOR
INYECTA A CADA OBJETO LOS OBJETOS NECESARIOS SEGÚN LAS RELACIONES PLASMADAS EN UN
FICHERO DE CONFIGURACIÓN.
INYECCIÓN DE DEPENDENCIAS
• EJEMPLO SIN INYECCIÓN DE DEPENDENCIAS
INYECCIÓN DE DEPENDENCIAS
• EJEMPLO CON INYECCIÓN DE DEPENDENCIAS
EVOLUCIONAR
EVOLUCIONAR
• ARQUITECTURA QUE NO SEPARA CORRECTAMENTE LOS ASPECTOS
EVOLUCIONAR
PRUEBAS DE UNIDAD DE LA ARQUITECTURA DEL
SISTEMA
• ES ECONÓMICAMENTE FACTIBLE REALIZAR CAMBIOS RADICALES SI LA ESTRUCTURA DEL SOFTWARE
SEPARA SUS ASPECTOS DE FORMA EFICAZ.
• ES POSIBLE INICIAR UN PROYECTO DE SOFTWARE CON UNA ARQUITECTURA SIMPLE PERO BIEN
DESCONECTADA, Y OFRECER HISTORIAS FUNCIONALES DE FORMA RÁPIDA, PARA DESPUÉS
AUMENTAR LA INFRAESTRUCTURA.
USAR ESTÁNDARES CUANDO AÑADAN UN VALOR
DEMOSTRABLE
BIBLIOGRAFÍA

Más contenido relacionado

Similar a Cap11 clean code - alexandergiraldo

ASEGURAMIENTO DE LA CALIDAD EN LOS SISTEMAS DE INFORMACION SQA
ASEGURAMIENTO DE LA CALIDAD EN LOS SISTEMAS DE INFORMACION SQAASEGURAMIENTO DE LA CALIDAD EN LOS SISTEMAS DE INFORMACION SQA
ASEGURAMIENTO DE LA CALIDAD EN LOS SISTEMAS DE INFORMACION SQA
pabloreyes154
 
Establecimiento de secuencia de las actividades
Establecimiento de secuencia de las actividadesEstablecimiento de secuencia de las actividades
Establecimiento de secuencia de las actividades
Rubi Faviola Quicehuatl
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
Alexis Arguello
 
Diapositivas exposicion
Diapositivas exposicionDiapositivas exposicion
Diapositivas exposicion
Universidad de Oriente. Venezuela
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Giilbert Tovar
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
Alexis Arguello
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
santiagovp59
 
APLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NETAPLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NET
MODA ESTILO Y BELLEZA
 
Diagrama de flujo pseudocodigos
Diagrama de flujo pseudocodigos Diagrama de flujo pseudocodigos
Diagrama de flujo pseudocodigos
franklin
 
Monografia Programación 3 Niveles
Monografia Programación 3 NivelesMonografia Programación 3 Niveles
Monografia Programación 3 Niveles
Carlos Lázaro Mauricio
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
santiagovp59
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
santiagovp59
 
APLICACIÓN N-CAPAS VISUAL.NET
APLICACIÓN N-CAPAS VISUAL.NETAPLICACIÓN N-CAPAS VISUAL.NET
APLICACIÓN N-CAPAS VISUAL.NET
daniel barboza
 
ARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdfARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdf
DavidVeraOlivera
 
Ciclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informatica
Mari Abad
 
Ciclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informatica
Mari Abad
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
mi casa
 
Las funciones de los sistemas operativos
Las funciones de los sistemas operativosLas funciones de los sistemas operativos
Las funciones de los sistemas operativos
Genezitha Rasgado Castillo
 
APLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NETAPLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NET
GREINDER MARCHENA & LIZ VASQUEZ
 
Algoritmos ema ovalle
Algoritmos ema ovalleAlgoritmos ema ovalle
Algoritmos ema ovalle
mateo123434
 

Similar a Cap11 clean code - alexandergiraldo (20)

ASEGURAMIENTO DE LA CALIDAD EN LOS SISTEMAS DE INFORMACION SQA
ASEGURAMIENTO DE LA CALIDAD EN LOS SISTEMAS DE INFORMACION SQAASEGURAMIENTO DE LA CALIDAD EN LOS SISTEMAS DE INFORMACION SQA
ASEGURAMIENTO DE LA CALIDAD EN LOS SISTEMAS DE INFORMACION SQA
 
Establecimiento de secuencia de las actividades
Establecimiento de secuencia de las actividadesEstablecimiento de secuencia de las actividades
Establecimiento de secuencia de las actividades
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
 
Diapositivas exposicion
Diapositivas exposicionDiapositivas exposicion
Diapositivas exposicion
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
APLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NETAPLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NET
 
Diagrama de flujo pseudocodigos
Diagrama de flujo pseudocodigos Diagrama de flujo pseudocodigos
Diagrama de flujo pseudocodigos
 
Monografia Programación 3 Niveles
Monografia Programación 3 NivelesMonografia Programación 3 Niveles
Monografia Programación 3 Niveles
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
APLICACIÓN N-CAPAS VISUAL.NET
APLICACIÓN N-CAPAS VISUAL.NETAPLICACIÓN N-CAPAS VISUAL.NET
APLICACIÓN N-CAPAS VISUAL.NET
 
ARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdfARQUITECTURA EN CAPAS.pdf
ARQUITECTURA EN CAPAS.pdf
 
Ciclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informatica
 
Ciclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informatica
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Las funciones de los sistemas operativos
Las funciones de los sistemas operativosLas funciones de los sistemas operativos
Las funciones de los sistemas operativos
 
APLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NETAPLICACIONES N-CAPAS EN VISUAL NET
APLICACIONES N-CAPAS EN VISUAL NET
 
Algoritmos ema ovalle
Algoritmos ema ovalleAlgoritmos ema ovalle
Algoritmos ema ovalle
 

Último

METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIAMETODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
LuisCiriacoMolina
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
DanielaLoaeza5
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
ssuser8827cb1
 
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdfECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ArnulfoPerezPerez2
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
AlvaroEduardoConsola1
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
LuisAngelGuarnizoBet
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
diagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingenieríadiagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingeniería
karenperalta62
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
jemifermelgarejoaran1
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
MichaelLpezOrtiz
 
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptxPRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
ANGELJOELSILVAPINZN
 
Periodo de secado para velocidad decreciente.pdf
Periodo de secado para velocidad decreciente.pdfPeriodo de secado para velocidad decreciente.pdf
Periodo de secado para velocidad decreciente.pdf
PAULINACASTRUITAGARC
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
FernandoRodrigoEscal
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
GERARDO GONZALEZ
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
Edgar Najera
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
SandyCuenca
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
carmenquintana18
 
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
jlupo2024
 
Reglamento Interno de seguridad y sdalud en
Reglamento Interno de seguridad y sdalud enReglamento Interno de seguridad y sdalud en
Reglamento Interno de seguridad y sdalud en
Jorge Luis Flores Zuñiga
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 

Último (20)

METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIAMETODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
 
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdfECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
ECUACIONES DIFERENCIALES DE PRIMER ORDEN.pdf
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
diagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingenieríadiagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingeniería
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
 
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptxPRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
 
Periodo de secado para velocidad decreciente.pdf
Periodo de secado para velocidad decreciente.pdfPeriodo de secado para velocidad decreciente.pdf
Periodo de secado para velocidad decreciente.pdf
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
 
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
1-AAP-RENAV-PyM Capacitación del Reglamento Nacional de Vehiculos.pdf
 
Reglamento Interno de seguridad y sdalud en
Reglamento Interno de seguridad y sdalud enReglamento Interno de seguridad y sdalud en
Reglamento Interno de seguridad y sdalud en
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 

Cap11 clean code - alexandergiraldo

  • 1. SISTEMAS PRESENTADA POR: FRANCISCO ALEXANDER GIRALDO CLEAN CODE- CAP 11
  • 2. • EN ESTE CAPÍTULO SE VERÁ COMO MANTENER LA LIMPIEZA EN NIVELES SUPERIORES DE ABSTRACCIÓN.
  • 3. SEPARACIÓN DE ASPECTOS • PARADIGMA DE PROGRAMACIÓN, DONDE SE BUSCA UNA ADECUADA MODULARIZACIÓN DE LAS APLICACIONES Y UNA MEJOR SEPARACIÓN DE RESPONSABILIDADES.(ELIMINAR DEPENDENCIAS ENTRE CADA UNO DE LOS MÓDULOS). • “LOS SISTEMAS DE SOFTWARE DEBEN SEPARAR EL PROCESO DE INICIO, EN EL QUE SE CREAN LOS OBJETOS DE LA APLICACIÓN Y SE CONECTAN LAS DEPENDENCIAS, DE LA LÓGICA DE EJECUCIÓN QUE TOMA EL TESTIGO TRAS EL INICIO”
  • 4. SEPARAR EL MAIN • SEPARAR LA CONSTRUCCIÓN DEL USO, CONSISTE EN TRASLADAR TODOS LOS ASPECTOS DE LA CONSTRUCCIÓN A MAIN Y DISEÑAR EL RESTO DEL SISTEMA SUPONIENDO QUE TODOS LOS OBJETOS SE HAN CREADO Y CONECTADO CORRECTAMENTE.” • EL FLUJO DE CONTROL ES FÁCIL DE SEGUIR, LA FUNCIÓN MAIN CREA LOS OBJETOS NECESARIOS, LOS PASA A LA APLICACIÓN Y ESTE LOS UTILIZA.
  • 5. FACTORÍAS • UNA FACTORÍA ES UN OBJETO QUE MANEJA LA CREACIÓN DE OTROS OBJETOS. LAS FACTORÍAS SE UTILIZAN CUANDO LA CREACIÓN DE UN OBJETO IMPLICA ALGO MÁS QUE UNA SIMPLE INSTANCIACIÓN. • CUANDO LA APLICACIÓN TENGA QUE SER RESPONSABLE DE LA CREACIÓN DE UN OBJETO
  • 6. INYECTAR DEPENDENCIAS • UN OBJETO NO DEBE SER RESPONSABLE DE INSTALAR DEPENDENCIAS, SINO QUE DEBE DELEGAR ESTA RESPONSABILIDAD EN OTRO MECANISMO AUTORIZADO, DE MODO QUE SE INVIERTE EL CONTROL.(RUTINA MAIN O UN CONTENEDOR DE PROPÓSITO ESPECIAL)
  • 7. INYECCIÓN DE DEPENDENCIAS • ES UN PATRÓN DE DISEÑO ORIENTADO A OBJETOS, EN EL QUE SE SUMINISTRAN OBJETOS A UNA CLASE EN LUGAR DE SER LA PROPIA CLASE QUIEN CREE EL OBJETO. • LA FORMA HABITUAL DE IMPLEMENTAR ESTE PATRÓN ES MEDIANTE UN "CONTENEDOR DI" Y OBJETOS PLANOS O SIMPLES POR EJEMPLO LOS LLAMADOS POJO EN JAVA. EL CONTENEDOR INYECTA A CADA OBJETO LOS OBJETOS NECESARIOS SEGÚN LAS RELACIONES PLASMADAS EN UN FICHERO DE CONFIGURACIÓN.
  • 8. INYECCIÓN DE DEPENDENCIAS • EJEMPLO SIN INYECCIÓN DE DEPENDENCIAS
  • 9. INYECCIÓN DE DEPENDENCIAS • EJEMPLO CON INYECCIÓN DE DEPENDENCIAS
  • 11. EVOLUCIONAR • ARQUITECTURA QUE NO SEPARA CORRECTAMENTE LOS ASPECTOS
  • 13. PRUEBAS DE UNIDAD DE LA ARQUITECTURA DEL SISTEMA • ES ECONÓMICAMENTE FACTIBLE REALIZAR CAMBIOS RADICALES SI LA ESTRUCTURA DEL SOFTWARE SEPARA SUS ASPECTOS DE FORMA EFICAZ. • ES POSIBLE INICIAR UN PROYECTO DE SOFTWARE CON UNA ARQUITECTURA SIMPLE PERO BIEN DESCONECTADA, Y OFRECER HISTORIAS FUNCIONALES DE FORMA RÁPIDA, PARA DESPUÉS AUMENTAR LA INFRAESTRUCTURA.
  • 14. USAR ESTÁNDARES CUANDO AÑADAN UN VALOR DEMOSTRABLE

Notas del editor

  1. Se realiza la comprobación del null y asisgnar el correspondiente test doublé por lo el método hace más de una solo cosa por lo cúal incumple el principio de responsabilidad única
  2. Las flechas de dependencia van en la misma dirección por lo que la aplicación no tiene conocimiento del main ni del proceso de construcción.
  3. La app debe crear instancias de lineItem, para q la app controle cuando crear lineItem, pero mantener los detalles de dicha construcción separados del código de la aplicación La aplicación orderProcessing se desconenta de los detalles de creación de lineItem En diseño de software, el patrón de diseño Factory Method consiste en utilizar una clase constructora (al estilo del Abstract Factory) abstracta con unos cuantos métodos definidos y otro(s) abstracto(s): el dedicado a la construcción de objetos de un subtipo de un tipo determinado. Es una simplificación del Abstract Factory, en la que la clase abstracta tiene métodos concretos que usan algunos de los abstractos; según usemos una u otra hija de esta clase abstracta, tendremos uno u otro comportamiento.
  4. Pojo en java es para enfatizar el uso de clases simples y que no dependen de frameworks