Upload
lennon-shimokawa
View
508
Download
1
Tags:
Embed Size (px)
Citation preview
SOLID
@lshimokawa
"Walking on water and developing software from a specification are easy if both are frozen."- Edward V. Berard
Robert C. Martin
http://manifesto.softwarecraftsmanship.org/
Single Responsability Principle
SRP
•Las clases deben tener una única responsabilidad.
•Una clase debe tener una, y solo una, razón para cambiar.
Open Closed Principle
•Los módulos deben estar abiertos para la extensión pero cerrados para la modificación.
•Variables de instancia privadas.
•No tener variables globales
OCP
Liskov Substitution Principle
•Los objetos deben ser reemplazables por instancias de subtipos sin alterar el correcto funcionamiento.
LSP
Inteface Segregation Principle
•Varias interfaces de clientes son mejores que una sola interfaz de general.
•Los clientes no deben ser forzados a implementar interfaces que no utilizan.
ISP
Dependency Inversion Principle
•Uno debe depender de abstracciones no de clases concretas.
•Dependency Injection
DIP
Ejemplos de SOLID
•https://github.com/stefanroock/SOLID-for-dynamic-and-functional-languages--Sokrates-Germany-2011-