Principios de Diseño Orientado a Objetos (OOD)

Siguiendo con esas cosas que todos deberían saber…pero que muchos no comprenden totalmente:

Robert Martin, mejor conocido como Uncle Bob, explica de manera muy clara los principios básicos de diseño orientado a objetos. No solo es necesario poder recitar estos principios, sino que hay que entenderlos y poder explicar las razones de su importancia.

Precisamente de este articulo que voy a poner la liga, cito un párrafo que es muy cierto:

“All too often today’s programmers are unaware of the principles that are the foundation of the disciplines that their languages were derived around.”

Los primeros 5 principios son los famosos SOLID (que en muchas ocasiones les tocará leer el acrónimo en artículos) y son orientados a diseño de clases. Los 3 siguientes son orientados a Cohesión de librerías de código, y los últimos 3 son orientados a dependencias entre librerías de código.

Los principios SOLID:

  • Single Responsibility Principle (SRP)
  • Open-Closed Principle (OCP)
  • Liskov Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)

Incluso cada uno de los principios está claramente explicado y disponible para bajarse en PDF por separado. La siguiente es la liga:

The principles of Object Oriented Design, by UncleBob

2 Responses to Principios de Diseño Orientado a Objetos (OOD)
  1. Arthur Knight

    Que onda Gabo,

    Ya checaste el NDepend?? Esta chidisimo,te permite ver las dependencias entre assemblies, namespaces y puedes dar un vistazo drill down a como esta diseñada cualquier app .net, al checar un sistemilla en .NET puedes ver cosas tan obvias y garrafales como si referencian al System.Data desde los assemblies de la vista de la app, cosa que es garrafal pero si no tienes esa hta tienes que hecharte un clavado el codigo.

    Checalo, es muy util y es free to eval.

  2. Gabriel

    Que onda TUro. Si he visto screenshots del NDepend, estan buenas las graficas de dependencias que te da…no lo he integrado a un proyecto todavia, pero definitivamente para proyectos muy grandes esta muy bueno. Saludos!

Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.