● Cada entidad debe de ser responsable de una única cosa ● Pregúntate qué es lo que hace esa entidad ● No debería de usarse la palabra “y” PRINCIPIO DE RESPONSABILIDAD ÚNICA SINGLE RESPONSIBILITY PRINCIPLE
PRINCIPIO SUSTITUCIÓN LISKOV LISKOV SUBSTITUTION PRINCIPLE ● Las subclases no deben de romper el resultado esperado de la clase padre ● Nos obliga a asegurarnos de que cuando extendemos una clase no estamos alterando el comportamiento de la padre
PRINCIPIO DE SEGREGACIÓN DE INTERFACES INTERFACE SEGREGATION PRINCIPLE ● Muchas interfaces muy concretas son mejores que una con un propósito general ● Ninguna clase debería depender de métodos que no usa
PRINCIPIO DE INVERSIÓN DE DEPENDENCIAS DEPENDENCY INVERSION PRINCIPLE ● Depender de abstracciones, no de concreciones ● Evitar que altos módulos tengan que depender de bajos módulos ○ Ambos deben depender de abstracciones ○ Clase nivel alto > Capa de abstracción > Clase nivel bajo ● Desacopla las clases
Realm - Donn Felker, SOLID pt 1 - S Realm - Donn Felker, SOLID pt 2 - O Realm - Donn Felker, SOLID pt 3 - L Realm - Donn Felker, SOLID pt 4 - I Realm - Donn Felker, SOLID pt 5 - D ENLACES DE GRAN INTERÉS Codemotion Meetup Jorge D Ortiz Fuentes (SOLID) y Pablo Guardiola (Mockito) DevExperto - Principio de Responsabilidad Única DevExperto - Principio Open Close DevExperto - Principio de Sustitución de Liskov DevExperto - Principio de Segregación de Interfaces DevExperto - Principio de Inversión de Dependencias