9 principios de diseño de aplicaciones que deberías conocer

Reglas y recomendaciones que te ayudarán a diseñar aplicaciones mantenibles y mejor optimizadas

Image for post
Image for post

1. Encapsular aquello que está sujeto a muchos cambios

Patrón de diseño relacionado: Estrategia

Image for post
Image for post
Patrón de diseño: Estrategia

2. Programar a interfaces, no a implementaciones

Dog dog = new Dog();dog.bark();Cat cat = new Cat();cat.meow();
public function aClientMethod(Animal animal) {  animal.makeSound();}
Image for post
Image for post

3. Favorece la composición frente a la herencia

Image for post
Image for post

Patrón de diseño relacionado: Decorador

Image for post
Image for post

4. Plantea diseños poco acoplados entre objetos que interactúan

Patrón de diseño relacionado: Observer

Image for post
Image for post

5. Principio Abierto / Cerrado

Patrón de diseño: Proxy

Image for post
Image for post
Patrón Proxy

6. Principio de inversión de dependencias

Image for post
Image for post
Sin inversión de dependencias
Image for post
Image for post
Inversión de dependencias

Patrón de diseño relacionado: Factoría

7. Principio de menos conocimiento

public function getFirstTeamCaptain() {  $firstTeam = $this->match->getFirstTeam();  $captain = $firstTeam->getCaptain();  return $captain;}
public function getFirstTeamCaptain() {  $captain = $this->match->getFirstTeamCaptain();  return $captain;}

8. Principio de Hollywood

Image for post
Image for post

Patrón de diseño relacionado: Template Method

Image for post
Image for post
Template method

9. Responsabilidad única

Y conclusiones

¿Quieres recibir más artículos como este?

Entre paseo y paseo con Simba desarrollo en Symfony y React

Get the Medium app