EXAMPLE || Open/Closed

in #spanish6 years ago

Propia Edición.

Si deseas conocer la base de este principio así como una descripción del mismo puedes revisar el siguiente Post:

Principio Open/Closed


Imaginemos a un retratista el cual tiene la necesidad de pintar cuadros entonces: tenemos una clase con un método que se encarga de pintar un retrato por persona. Por su puesto, cada persona tiene su propia forma de ser retratada. Nuestra persona quedaría: Simple, una clase que especifica su tipo con un enumerador; suponiendo que tenemos algo como:

Y el talento del pintor haría esto:


Mientras no necesitemos pintar mas tipos aparte de personas ni el switch se repita en varias partes del código, no debería existir la necesidad de modificarlo.

  • Pero puede llegar un punto en el que necesitemos pintar un perro un paisaje un atardecer; Esto implicaría crear un nuevo enum, y un nuevo case y claro un nuevo método para implementar la nueva pintada.

  • Si lo solucionamos mediante herencia y polimorfismo lo mas lógico seria eliminar ese enum y crear clases independientes y así nuestro retratista sabría como se debe pintar cada cosa.



Ahora tras esta simple reducción nuestro artista puede pintar lo que quiera solo extendiendo de la clase principal; note ce que en C# la palabra extends es ":"






Recuerda que estos principios fueron publicados por primera vez por Robert C. Martin, también conocido como Uncle Bob, en su libro Agile Software Development: Principles, Patterns, and Practices. Una persona que te recomiendo seguir, y revisar su blog de vez en cuando.

Fuente

Y recuerden amiguitos:

  • Un mejor desarrollo conlleva poder ser interpretado por cualquier programador.
  • Si forjas estas bases como tuyas los resultados que obtendrás serán satisfactorias tanto para ti como para el que toque tu proyecto a futuro .
  • No importa si ya eres un viejo lobo de mar en esto o apenas emprendes esta aventura conocer estos principios lo único que pueden hacer es hacerte mejorar.

Hasta la próxima...

Entradas Relacionadas
S.O.L.I.D.
Principio de Responsabilidad Única
Principio Open/Closed
PRINCIPIO DE SUSTITUCIÓN DE LISKOV
Principio de segregación de interfaces
Sort:  

Excelente, que bueno que se trabaje la programacion de esta manera, muy buen post!!!

gracias¡ unos tips tan sencillos pero tan utiles

Este post fue votado por la comunidad y trail @developspanish, comunidad encargada de curar a los programadores, traductores de software y bloggers de informática y tecnología de habla hispana.

Contenido de calidad
Votado por el trail Team-México @team-mexico
Canal Discord ¡Te esperamos!

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 70601.40
ETH 3576.96
USDT 1.00
SBD 4.75