martes, 5 de diciembre de 2017

SOLID

S.O.L.I.D
Single Responsibility
Open Closed
Liskov Substitution
Interface Segregation
Dependency Inversion

1.- Single Responsibility Principle
Una clase jamás debería tener mas de una razón por la cual cambiar.
·         Responsabilidad= Razón para cambiar
·         Si una Clase asume mas de una responsabilidad, entonces tendrá mas de una razón para cambiar.
·         Acoplamiento de responsabilidades.



2.- Open Closed Principle
Entidades de software deberían estar abiertas para extensión pero cerradas para modificación
·         Si 1 cambio a varios módulos, entonces la aplicación no esta bien diseñada.
·         Debemos diseñar módulos que nunca cambien.
Cuando realizas un sistema de una empresa y tienes que tenerun ril basado “puede realizar un pago, mañana me solicitan que cree un nuevo rol, por ejemplo “devolución” . Lasolucion actual seria crear un método mas, pero el problema radica en que nuestra clase tiene que impremntar mas código. “abierto para la extensión pero cerrado para la modificación. Por lo tanto no modifiques nada y extiende la funcionalidad.
3.- Principio de Sustitución de Liskov
El principio de Liskov nos ayuda a utilizar la herencia de forma correcta.
Bien, tenemos una clase base abstracta que será un Robot y este puede realizar una cantidad X de punto de año al momento de atacar, pero necesita ser heredada par ser usada.
Asimismo, la tecnología avanzado y llegaron 2 modelos nuevo pero van a heredar las características del Robot. La diferencia es que estos tienen más poder de ataque, por lo tanto habremos que sobrescribir sus métodos.
4.- Principio de Segregación de Interfaces
Nos ayuda a no obligar a ninguna clase a implementar métodos que no utiliza.

5.- Principio de Inversión de Dependencias
Gracias al principio de inversión de dependencias, podemos hacer que el código que es el núcleo de nuestra
aplicación no dependa de los detalles de implementación, como pueden ser el framework que utilices,
 la base de datos, cómo te conectes a tu servidor


No hay comentarios:

Publicar un comentario

Interfaces

Un interfaz es una lista de acciones que puede llevar a cabo un determinado objeto. Sorpresa, ¿eso no eran los métodos que se definen en un...