<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Seminario by Denis Huaman Cárdenas</title>
      <link>https://padlet.com/denishc0404/yzvpqamow97hn0cw</link>
      <description></description>
      <language>en-us</language>
      <pubDate>2024-11-16 14:29:34 UTC</pubDate>
      <lastBuildDate>2024-11-16 15:35:35 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/png/1f4d3.png</url>
      </image>
      <item>
         <title></title>
         <author></author>
         <link>https://padlet.com/denishc0404/yzvpqamow97hn0cw/wish/3219987641</link>
         <description><![CDATA[<p>Los fundamentos SOLID es una colección de cinco principios esenciales para el diseño de programas orientados a objetos.  Y están diseñados para ayudar a los desarrolladores a crear sistemas más escalables, flexibles y fáciles de mantener. Cada principio tiene como objetivo abordar problemas comunes en el diseño y desarrollo de software.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-11-16 14:46:46 UTC</pubDate>
         <guid>https://padlet.com/denishc0404/yzvpqamow97hn0cw/wish/3219987641</guid>
      </item>
      <item>
         <title></title>
         <author></author>
         <link>https://padlet.com/denishc0404/yzvpqamow97hn0cw/wish/3219990757</link>
         <description><![CDATA[<ol><li><p><strong>S - Single Responsibility Principle (Responsabilidad Única)</strong><br><em>Cada clase o módulo debe tener una sola responsabilidad.</em><br><strong>Ejemplo:</strong></p><ul><li><p>Una clase Usuario maneja solo datos del usuario, mientras una clase ValidadorUsuario verifica si los datos son correctos.</p></li></ul></li></ol><ol start="2"><li><p><strong>O - Open/Closed Principle (Abierto/Cerrado)</strong><br><em>El código debe estar abierto para extensión, pero cerrado para modificación.</em><br><strong>Ejemplo:</strong></p><ul><li><p>En lugar de modificar una clase existente, agrega una nueva clase que extienda su funcionalidad, como añadir un método de pago con tarjetas sin cambiar la lógica existente.</p></li></ul></li></ol><ol start="3"><li><p><strong>L - Liskov Substitution Principle (Sustitución de Liskov)</strong><br><em>Las clases derivadas deben ser intercambiables por sus clases base.</em><br><strong>Ejemplo:</strong></p><ul><li><p>Si Ave es una clase base, y Pájaro la hereda, ambas deben comportarse igual. No puedes tener un Pingüino que no pueda volar si Ave asume que todas las aves vuelan.</p></li></ul></li></ol><ol start="4"><li><p><strong>I - Interface Segregation Principle (Segregación de Interfaces)</strong><br><em>Las interfaces deben ser pequeñas y específicas, no generales.</em><br><strong>Ejemplo:</strong></p><ul><li><p>En vez de una interfaz Vehículo con métodos para volar y manejar, crea dos interfaces: VehículoAéreo y VehículoTerrestre.</p></li></ul></li></ol><ol start="5"><li><p><strong>D - Dependency Inversion Principle (Inversión de Dependencias)</strong><br><em>El código debe depender de abstracciones, no de implementaciones concretas.</em><br><strong>Ejemplo:</strong></p><ul><li><p>Usa una interfaz Repositorio que pueda implementarse con una base de datos MySQL o MongoDB, sin que la lógica del programa dependa directamente de estas bases de datos.</p></li></ul></li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2024-11-16 14:52:06 UTC</pubDate>
         <guid>https://padlet.com/denishc0404/yzvpqamow97hn0cw/wish/3219990757</guid>
      </item>
   </channel>
</rss>
