{"id":915,"date":"2022-07-15T00:00:00","date_gmt":"2022-07-14T22:00:00","guid":{"rendered":"https:\/\/programaraciegas.net\/?p=915"},"modified":"2022-05-25T09:11:12","modified_gmt":"2022-05-25T07:11:12","slug":"que-son-los-patrones-de-diseno-en-la-industria-del-software","status":"publish","type":"post","link":"https:\/\/programaraciegas.net\/?p=915","title":{"rendered":"Qu\u00e9 son los patrones de dise\u00f1o en la industria del software"},"content":{"rendered":"<p>Los patrones de dise\u00f1o son soluciones habituales a problemas que aparecen durante el dise\u00f1o de un producto software.<\/p>\n<p>Un patr\u00f3n no es una pieza de c\u00f3digo, sino un concepto general para resolver un problema concreto. \u00a0El patr\u00f3n de dise\u00f1o ayuda con ciertas instrucciones a implementar una soluci\u00f3n que se adapte a las necesidades del programa que se est\u00e9 creando..<\/p>\n<h2>Patrones y algoritmos<\/h2>\n<p>No se deben confundir los conceptos de algoritmo y patr\u00f3n de dise\u00f1o. El algoritmo es una receta para solucionar un problema muy concreto y el patr\u00f3n de dise\u00f1o es un plano arquitect\u00f3nico para indicar c\u00f3mo repartir las funciones, clases y objetos en nuestro programa.<\/p>\n<h2>Descripci\u00f3n de un patr\u00f3n de dise\u00f1o<\/h2>\n<p>La descripci\u00f3n de un patr\u00f3n de dise\u00f1o es un texto formal que permite la implementaci\u00f3n del patr\u00f3n en m\u00faltiples entornos y contextos.<\/p>\n<p>Esta descripci\u00f3n del patr\u00f3n incluye elementos como prop\u00f3sito, motivaci\u00f3n, estructura de clases, aplicabilidad, pasos de implementaci\u00f3n y ejemplo de c\u00f3digo.<\/p>\n<h2>Clasificaci\u00f3n<\/h2>\n<p>Los patrones de dise\u00f1o se diferencian en su complejidad, nivel de detalle y escala de aplicabilidad.<\/p>\n<p>Los patrones m\u00e1s b\u00e1sicos se denominan <strong>idioms<\/strong> y suelen aplicarse a un lenguaje de programaci\u00f3n espec\u00edfico.<\/p>\n<p>Los patrones m\u00e1s complejos y de alto nivel se denominan patrones de <strong>arquitectura<\/strong> y son aplicables a casi cualquier lenguaje de programaci\u00f3n. Estos patrones ayudan al dise\u00f1o global de la aplicaci\u00f3n definiendo la arquitectura del proyecto software.<\/p>\n<h2>Clasificaci\u00f3n por prop\u00f3sito<\/h2>\n<p>Los patrones de dise\u00f1o se pueden clasificar tambi\u00e9n por el tipo de prop\u00f3sito que tenga el patr\u00f3n de dise\u00f1o.<\/p>\n<h3>Patrones de construcci\u00f3n<\/h3>\n<p>Estos patrones proporcionan mecanismos y enfoques para la creaci\u00f3n de objetos buscando mejorar la reutilizaci\u00f3n de c\u00f3digo y su flexibilidad.<\/p>\n<h3>Patrones de estructura<\/h3>\n<p>Estos patrones ofrecen soluciones para ensamblar y relacionar objetos para crear estructuras m\u00e1s grandes y maximizar su eficiencia y flexibilidad.<\/p>\n<h3>Patrones de comportamiento<\/h3>\n<p>Estos patrones ofrecen mecanismos para mejorar la comunicaci\u00f3n entre objetos y definir las responsabilidades entre clases y objetos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los patrones de dise\u00f1o son soluciones habituales a problemas que aparecen durante el dise\u00f1o de un producto software. Un patr\u00f3n no es una pieza de c\u00f3digo, sino un concepto general para resolver un problema concreto. \u00a0El patr\u00f3n de dise\u00f1o ayuda con ciertas instrucciones a implementar una soluci\u00f3n que se adapte a las necesidades del programa &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/programaraciegas.net\/?p=915\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abQu\u00e9 son los patrones de dise\u00f1o en la industria del software\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,6],"tags":[87,388],"class_list":["post-915","post","type-post","status-publish","format-standard","hentry","category-metodologiafilosofia","category-programacion","tag-programacion-2","tag-teoria"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=915"}],"version-history":[{"count":0,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/915\/revisions"}],"wp:attachment":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}