En este video tutorial veremos dos de los principios de diseño: simplicidad y consistencia La simplicidad se refiere a mantener el software lo más simple posible. Veremos los principios "KISS", el principio "Hollywood", y el "Principio de Responsabilidad Única". El principio "Kiss", del inglés "Keep It Short and Simple" o "Mantenlo corto y simple" establece que la mayorÃa de los sistemas funcionan mejor si se mantienen simples que si se hacen complejos. La simplicidad debe ser mantenida como un objetivo clave del diseño y cualquier complejidad innecesaria debe ser evitada. El principio "YAGNI", del inglés "You Aren´t Gonna Need It", "No lo vas a necesitar", es otro principio que está muy relacionado con el principio "KISS". Nos advierte sobre escribir código de la forma más general para anticipar cambios futuros. La intención es buena, pero en la mayorÃa de los casos suele ser código inútil. Por otro lado, tenemos el principio "Hollywood", "No nos llames, nosotros te llamamos", también conocido como "Principio de inversión de dependencia". Por el principio de inversión de dependencia 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 se utiliza, la base de datos, cómo te conectas a un servidor, etcétera. El Principio de responsabilidad única, del inglés "Single Responsibility Principle", nos dice que un objeto debe realizar una única cosa, en caso contrario, debemos dividir la responsabilidad entre varios objetos. Por ejemplo, si un objeto representa un triángulo y, por ejemplo, sabe calcular su área y, a su vez, sabe dibujarse en pantalla, debo separar la responsabilidad de dibujarse en pantalla, siendo otro objeto el que sepa dibujar el triángulo en la pantalla. El Principio de consistencia radica en que el software sea consistente con el dominio del problema y que no haya redundancia que pueda traer conflictos por falta de consistencia. Por un lado, es recomendable utilizar metáforas de cómo serÃa lo que queremos hacer sin un sistema, por ejemplo, si queremos hacer un facturado de llamadas telefónicas, nos podemos situar en los años en que no habÃa sistemas y ese trabajo lo hacÃan personas manualmente. Por ejemplo, una persona que tenÃa un listado de llamadas y agrupaba los llamados por cliente, otra persona buscaba los costos de cada llamado según su duración, otra persona sumaba los costos de cada llamada, otra persona armaba la factura, etcétera. De esa manera, podemos encontrar mejor los objetos que forman parte del modelo por sus responsabilidades, siendo consistente con el dominio del problema. El principio "DRY" del inglés "Don't Repeat Yourself", "No te repitas", ayuda también a mantener la consistencia. Frecuentemente, en trabajos colaborativos hay redundancia y repetición de código debido a la falta de comunicación y a la falta de especificaciones de diseño. Esto puede causar ciertos problemas que luego dificultan los cambios y mantener la consistencia. Si seguimos este principio en todas las etapas del desarrollo, mantendremos la consistencia y evitaremos esfuerzos adicionales. Hemos visto los principios de diseño de simplicidad y consistencia.