{"id":6671,"date":"2015-09-11T10:00:00","date_gmt":"2015-09-11T10:00:00","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=6671"},"modified":"2019-04-16T08:56:22","modified_gmt":"2019-04-16T08:56:22","slug":"divide-y-venceras","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/","title":{"rendered":"Divide y vencer\u00e1s"},"content":{"rendered":"<p>Una de las frases que siempre me acuerdo y que aprend\u00ed en la Universidad es la de \u201c<strong>Divide y vencer\u00e1s<\/strong>\u201d.<\/p>\n<p>Una frase para mi filos\u00f3fica que se puede aplicar en muchos contexto de la vida pero hoy nos centraremos en el contexto de la programaci\u00f3n.<\/p>\n<p>Todo programador, aunque sea inconscientemente, aplica este concepto cuando est\u00e1 intentando resolver un problema grande y de dif\u00edcil resoluci\u00f3n como por ejemplo un proyecto o una aplicaci\u00f3n Web grande.<\/p>\n<p>Al estar programando una aplicaci\u00f3n grande, por l\u00f3gica t\u00fa mismo ya piensas en que parte har\u00e1s primero, divides el trabajo en partes.<\/p>\n<p><a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/Divide-y-Venceras.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6675\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/Divide-y-Venceras.jpg\" alt=\"Divide-y-Venceras\" width=\"600\" height=\"367\" srcset=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/Divide-y-Venceras.jpg 600w, https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/Divide-y-Venceras-300x184.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>La t\u00e9cnica divide y vencer\u00e1s consiste en:<\/p>\n<ul>\n<li>Descomponer un problema en un conjunto de subproblemas m\u00e1s peque\u00f1os.<\/li>\n<li>Se resuelven estos subproblemas.<\/li>\n<li>Se combinan las soluciones para obtener la soluci\u00f3n para el problema original<\/li>\n<\/ul>\n<p>Normalmente para resolver los subproblemas se utilizan llamadas recursivas al mismo algoritmo (aunque no necesariamente).<\/p>\n<p>Si te fijas en proyectos grandes siempre suelen estar divididos en partes. En un gestor de contenidos como <strong>WordPress<\/strong> te dar\u00e1s cuenta que es una plataforma que tiene una buena base (seguramente desarrollada por partes) y que despu\u00e9s tiene infinidad de complementos (plugins) que le aportan funcionalidad extra.<\/p>\n<p>Si nos fijamos en cualquier plataforma ecommerce tambi\u00e9n sucede lo mismo. Por ejemplo, <strong>PrestaShop<\/strong> tiene tambi\u00e9n una muy buena base para construir tu tienda Online con m\u00e1s de 200 m\u00f3dulos de base pero luego existen miles de m\u00f3dulos que complementan esta base.<\/p>\n<p>Cuando desarrollas tu p\u00e1gina Web tambi\u00e9n tiendes a concentrarte en programar una p\u00e1gina y luego las dem\u00e1s.<\/p>\n<p>De cara a la programaci\u00f3n, tendemos a usar la <strong>divisi\u00f3n del programa en m\u00f3dulos<\/strong> por ser una estrategia efectiva para resolver problemas complejos.<\/p>\n<p>En este tipo de divisiones siempre existe una estructura superior que engloba a todos los m\u00f3dulos y cada m\u00f3dulo contribuye a un fin m\u00e1s amplio mediante el cumplimiento de una tarea concreta.<\/p>\n<p>Existe independencia de funcionamiento entre m\u00f3dulos, lo cual no significa que no haya comunicaci\u00f3n entre ellos o entre ellos y la estructura superior.<\/p>\n<p>El hecho de que exista independencia de funcionamiento unido a que un m\u00f3dulo cumpla una tarea concreta, permiten su traslado o copia de organizaci\u00f3n en otra estructura con otro fin global, pero necesitada del proceso concreto que realiza el m\u00f3dulo.<\/p>\n<p>La complejidad del m\u00f3dulo es siempre inferior a la del conjunto de m\u00f3dulos. Esto es importante en relaci\u00f3n a la estructura mental de los humanos y est\u00e1 relacionado con el \u201ctrabajo por objetivos\u201d. Dividir un gran problema en peque\u00f1os problemas se comprueba que lleva a:<\/p>\n<ul>\n<li>Aumentar la probabilidad de \u00e9xito al concentrar la atenci\u00f3n del programador y evitar su dispersi\u00f3n.<\/li>\n<li>Aumentar la tranquilidad y confianza del programador, que ante problemas de magnitud excesiva tender\u00e1 a sentirse abrumado.<\/li>\n<\/ul>\n<p>La complejidad intr\u00ednseca de un problema ser\u00e1 la misma independientemente de c\u00f3mo se aborde. En cambio, la probabilidad de \u00e9xito para un humano var\u00eda sustancialmente seg\u00fan sea la estrategia de resoluci\u00f3n empleada.<\/p>\n<p>La divisi\u00f3n por m\u00f3dulos facilita la <strong>organizaci\u00f3n y comprensi\u00f3n<\/strong> desde el punto de vista humano. Es nuevamente el factor humano el que nos anima a programar por m\u00f3dulos. Con esta organizaci\u00f3n nos resulta m\u00e1s f\u00e1cil detectar errores, corregirlos y tener una visi\u00f3n de conjunto de la estructura y funcionamiento de los programas. De esta forma tambi\u00e9n se fomenta la <strong>escalabilidad<\/strong> del sistema.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una de las frases que siempre me acuerdo y que aprend\u00ed en la Universidad es la de \u201cDivide y vencer\u00e1s\u201d. Una frase para mi filos\u00f3fica que se puede aplicar en muchos contexto de la vida pero hoy nos centraremos en el contexto de la programaci\u00f3n. Todo programador, aunque sea inconscientemente, aplica este concepto cuando est\u00e1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7287,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[149,3,21,32],"tags":[124],"class_list":["post-6671","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-destacados","category-php","category-prestashop","category-wordpress","tag-modulos-prestashop"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Divide y vencer\u00e1s - Jose Aguilar Blog<\/title>\n<meta name=\"description\" content=\"Descomponer un problema en un conjunto de subproblemas m\u00e1s peque\u00f1os para resolverlos m\u00e1s f\u00e1cilmente.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Divide y vencer\u00e1s - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"Descomponer un problema en un conjunto de subproblemas m\u00e1s peque\u00f1os para resolverlos m\u00e1s f\u00e1cilmente.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2015-09-11T10:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-04-16T08:56:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/divide-y-venceras.png\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/\",\"name\":\"Divide y vencer\u00e1s - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/divide-y-venceras.png\",\"datePublished\":\"2015-09-11T10:00:00+00:00\",\"dateModified\":\"2019-04-16T08:56:22+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"description\":\"Descomponer un problema en un conjunto de subproblemas m\u00e1s peque\u00f1os para resolverlos m\u00e1s f\u00e1cilmente.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/divide-y-venceras.png\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/divide-y-venceras.png\",\"width\":250,\"height\":250},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Divide y vencer\u00e1s\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Divide y vencer\u00e1s - Jose Aguilar Blog","description":"Descomponer un problema en un conjunto de subproblemas m\u00e1s peque\u00f1os para resolverlos m\u00e1s f\u00e1cilmente.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Divide y vencer\u00e1s - Jose Aguilar Blog","og_description":"Descomponer un problema en un conjunto de subproblemas m\u00e1s peque\u00f1os para resolverlos m\u00e1s f\u00e1cilmente.","og_url":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2015-09-11T10:00:00+00:00","article_modified_time":"2019-04-16T08:56:22+00:00","og_image":[{"width":250,"height":250,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/divide-y-venceras.png","type":"image\/png"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/","url":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/","name":"Divide y vencer\u00e1s - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/divide-y-venceras.png","datePublished":"2015-09-11T10:00:00+00:00","dateModified":"2019-04-16T08:56:22+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"description":"Descomponer un problema en un conjunto de subproblemas m\u00e1s peque\u00f1os para resolverlos m\u00e1s f\u00e1cilmente.","breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/divide-y-venceras.png","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2015\/09\/divide-y-venceras.png","width":250,"height":250},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/divide-y-venceras\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Divide y vencer\u00e1s"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/6671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=6671"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/6671\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/7287"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=6671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=6671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=6671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}