{"id":37273,"date":"2019-10-31T22:16:42","date_gmt":"2019-10-31T19:16:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/korotko-o-glavnom-clean-architecture-robert-c-martin\/"},"modified":"2019-10-31T22:16:42","modified_gmt":"2019-10-31T19:16:42","slug":"korotko-o-glavnom-clean-architecture-robert-c-martin","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin","title":{"rendered":"Breve resumen: Clean Architecture, Robert C. Martin","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Este ser\u00e1 un relato sobre la impresi\u00f3n que me dej\u00f3 el libro, as\u00ed como la discusi\u00f3n de algunos conceptos y conocimientos que, gracias a esta obra, se han aprendido.<\/p>\n<h3>Arquitectura<\/h3>\n<p>\n\u00bfPuedes, al leer esta publicaci\u00f3n, dar una respuesta clara a la pregunta de qu\u00e9 es arquitectura? \u00bfQu\u00e9 es arquitectura en el contexto de la programaci\u00f3n y el dise\u00f1o? \u00bfQu\u00e9 papel juega? Hay bastante confusi\u00f3n en torno a este t\u00e9rmino. Parece que todo est\u00e1 claro, pero resulta abstracto y sin precisi\u00f3n. Martin sostiene, y yo estoy de acuerdo con \u00e9l, que una aplicaci\u00f3n tiene dos componentes: <\/p>\n<ol>\n<li>Comportamiento (behavior) \u2014 las funciones y tareas que un programa (componente, servicio) realiza.<\/li>\n<li>Arquitectura \u2014 este t\u00e9rmino se refiere en gran medida al cambio de la aplicaci\u00f3n.<\/li>\n<\/ol>\n<p>\nPero incluso si una aplicaci\u00f3n hace muy bien la tarea que debe cumplir, eso no significa que tenga una buena arquitectura. La arquitectura no se trata del comportamiento de la aplicaci\u00f3n. La arquitectura se trata de la facilidad de modificaci\u00f3n, la arquitectura se refiere a la facilidad de despliegue, la arquitectura es sobre la independencia en el desarrollo. La arquitectura es sobre la velocidad con la que un nuevo miembro del equipo comprende el sistema.<\/p>\n<p>Y as\u00ed es como construir esta arquitectura, c\u00f3mo liberarse del dolor de cabeza con peque\u00f1os cambios en los requisitos de PM o de un stakeholder: de esto trata el libro.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Sobre los autores<\/h3>\n<p>\nAntes de hablar de este libro, quiero contar un poco sobre m\u00ed.<br \/>\nActualmente soy un desarrollador Strong Junior, especializado en el desarrollo de servicios a trav\u00e9s de ASP .NET CORE.<\/p>\n<p>He estado trabajando un a\u00f1o en una 'galer\u00eda', y parece que me estoy manejando poco a poco.<\/p>\n<p>He le\u00eddo este libro ya dos veces, y recomiendo su lectura a todos:<\/p>\n<ul>\n<li>desarrolladores de sistemas embebidos;<\/li>\n<li>desarrolladores front-end;<\/li>\n<li>desarrolladores back-end;<\/li>\n<li>e incluso a DevOps.<\/li>\n<\/ul>\n<p>\nEn general, a todos los que de alguna manera est\u00e1n involucrados en el desarrollo de software, me refiero a los que est\u00e1n directamente en la creaci\u00f3n de diferentes sistemas, y no incluyo a los Sales y PM, aunque ser\u00eda \u00fatil saber por qu\u00e9 un Dev puede gastar el doble de tiempo en una tarea, les aconsejo leer este libro.<br \/>\nY ahora intentar\u00e9 argumentar por qu\u00e9 pienso as\u00ed.<\/p>\n<p>Un poco sobre el autor de este libro (porque para m\u00ed, la autoridad del autor juega un papel importante). Creo que me entender\u00e1s, aunque esto no siempre sea correcto, pero si alguien con autoridad en el campo te dice algo, muestras mucho m\u00e1s confianza en lo que dice. Por ejemplo, creo que confiar\u00e1s m\u00e1s en el diagn\u00f3stico que te da un m\u00e9dico que en el de alguna persona del p\u00fablico (que ha buscado los s\u00edntomas en Google).<\/p>\n<p>Robert Martin, tambi\u00e9n conocido como Uncle Bob, trabaja en el campo de la programaci\u00f3n, en diferentes sistemas (desde servicios web hasta sistemas embebidos), desde 1970. Es consultor t\u00e9cnico y arquitecto, ha escrito para diversas revistas t\u00e9cnicas, es un programador muy experimentado y una persona que ha jugado un papel fundamental en la creaci\u00f3n de los conocidos principios SOLID (se puede decir que es el creador). Tambi\u00e9n quiero agregar que mi l\u00edder de equipo, con m\u00e1s de 15 a\u00f1os de experiencia, me recomend\u00f3 este libro.<\/p>\n<h2>Sobre el libro<\/h2>\n<p><\/p>\n<h3>Dependencias<\/h3>\n<p>\nAntes de leer el libro, le\u00ed varios art\u00edculos en Habr donde se mencionaba la palabra 'dependencia'. \u00bfQu\u00e9 es esto, qui\u00e9n depende de qui\u00e9n, qu\u00e9 significa exactamente 'depender', y c\u00f3mo puede alguna clase depender de otra? <\/p>\n<p>Y a medida que le\u00eda el libro, comprend\u00ed dos cosas:<\/p>\n<p>La dependencia es un t\u00e9rmino que significa que alguna clase (componente, servicio) conoce a alguna otra clase (componente, servicio), y este conocimiento, a nivel de c\u00f3digo, se identifica (ahora los programadores de Java, C# y C lo entender\u00e1n) mediante una importaci\u00f3n espec\u00edfica de namespace. En otras palabras: tienes la clase A con el namespace Default.Classes y la clase B Another.Classes. Entonces, si en el c\u00f3digo fuente de la clase A aparece using Another.Classes; \u2014 significa que la clase A depende de la clase B. <br \/>\nPara entender en el esquema d\u00f3nde est\u00e1 la clase dependiente y d\u00f3nde no, observa la direcci\u00f3n de la flecha: en 1) la flecha se\u00f1alar\u00e1 desde la clase A hacia la clase B. Esto significa que la clase B es m\u00e1s independiente que la clase A. Y los cambios en la clase A no causar\u00e1n ning\u00fan 'da\u00f1o' a la clase B.<\/p>\n<p><img decoding=\"async\" alt=\"Breve resumen: Clean Architecture, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/e8a54c03bc1aaf23aec3d24b002fc866.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>SOLID<\/h3>\n<p>\nUna de las principales razones que me llevaron a leer este libro fue la explicaci\u00f3n de los principios SOLID desde la fuente original, porque el t\u00edo Bob desarroll\u00f3 estos principios y se puede decir que gracias a \u00e9l escuchamos este nombre: SOLID.<br \/>\nPara aquellos que no est\u00e1n al tanto, estos principios indican y aconsejan dise\u00f1ar sus aplicaciones de acuerdo con 5 reglas:<\/p>\n<p>S \u2014 SRP (Principio de Responsabilidad \u00danica)<br \/>\nO \u2014 OCP (Principio Abierto-Cerrado)<br \/>\nL \u2014 LSP (Principio de Sustituci\u00f3n de Liskov)<br \/>\nI \u2014 ISP (Principio de Segregaci\u00f3n de Interfaces)<br \/>\nD \u2014 DIP (Principio de Inversi\u00f3n de Dependencias)<\/p>\n<p>Todos estos principios pueden aplicarse a nivel de clases y objetos, a nivel de m\u00f3dulos y componentes, y a nivel de capas (servicios).<\/p>\n<p>Si crees que el Principio de Responsabilidad \u00danica se refiere a que una clase o m\u00f3dulo debe hacer solo una cosa, necesitas leer al menos el cap\u00edtulo sobre SOLID. Porque esa definici\u00f3n dada anteriormente es una consecuencia, pero no es la definici\u00f3n del principio en s\u00ed.<\/p>\n<h3>Sobre la Inversi\u00f3n de Dependencias<\/h3>\n<p>\nQuiero poner especial atenci\u00f3n en la explicaci\u00f3n del Principio de Inversi\u00f3n de Dependencias (el que corresponde a D de SOLID). A medida que le\u00eda el libro, entend\u00ed que no es solo un principio, es tambi\u00e9n un mecanismo y herramienta, con la cual puedes cambiar la direcci\u00f3n de tus dependencias y hacer, por ejemplo, que la l\u00f3gica empresarial (DOMINIO) sea independiente de los detalles de implementaci\u00f3n de la capa de acceso a datos (DAL).<\/p>\n<p><img decoding=\"async\" alt=\"Breve resumen: Clean Architecture, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/0bceb51ecdb3d220d8a311d0ccdb26d7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAunque el propio principio, junto con los dem\u00e1s en SOLID, significa un poco diferente que un mecanismo, el mecanismo se utiliza a lo largo del libro, y es uno de los m\u00e9todos principales para invertir y cambiar la direcci\u00f3n de tus dependencias, que, por cierto, se utiliza en DDD.<\/p>\n<h3>Sobre la toma de decisiones arquitect\u00f3nicas<\/h3>\n<p>\nA menudo en el libro se menciona el principio sobre la toma de decisiones arquitect\u00f3nicas importantes: sobre qu\u00e9 base de datos utilizar, qu\u00e9 marco emplear, qu\u00e9 biblioteca conectar, qu\u00e9 utilizar como motor de b\u00fasqueda, etc.<\/p>\n<p>As\u00ed que, el autor considera: deber\u00edas tomar lo MENOS posible este tipo de decisiones. Porque los requisitos pueden cambiar, las limitaciones de rendimiento tambi\u00e9n, y el componente conductual tiende a cambiar. En el proceso de desarrollo, alguna decisi\u00f3n puede parecer menos efectiva que otra, menos conveniente que otra. Y la fuerza de tu arquitectura determinar\u00e1 cu\u00e1n r\u00e1pido y sin dolor puedes reemplazar una tecnolog\u00eda por otra (sobre esto, por cierto, insiste el OCP).<\/p>\n<p>Por ejemplo, de repente, decides utilizar MongoDB en lugar de PostgreSQL, o incluso archivos, o usar datos simulados, operaciones que se realizar\u00e1n en memoria. Y bajo ciertas condiciones, esto puede obligar a reescribir casi toda la l\u00f3gica. <\/p>\n<p>Para evitar que se presenten tales situaciones, podemos utilizar ciertos mecanismos que alejen al m\u00e1ximo el momento de la toma de decisiones. Uno de estos mecanismos es la abstracci\u00f3n.<\/p>\n<h3>Referencias a DDD<\/h3>\n<p>\nDDD \u2014 Dise\u00f1o Guiado por el Dominio \u2014 es un enfoque para el desarrollo de servicios con l\u00f3gica de negocio compleja y cr\u00edtica a cambios, que est\u00e1 orientado a lograr una comprensi\u00f3n m\u00e1xima por parte de los responsables del proyecto (PMs, gerentes de ventas, etc.) junto a los desarrolladores. Es decir, que entre todos los miembros del proyecto haya un lenguaje ubicuo, y cada uno pueda entender al otro, y que todos piensen en un mismo dominio con las mismas reglas de negocios.<\/p>\n<p>Si eres un defensor de DDD, o deseas serlo, o no comprendes bien el tema pero quieres entenderlo \u2014 este libro es una lectura obligada, especialmente la segunda parte del libro.<\/p>\n<p>Aqu\u00ed el autor explica la existencia de la Regla de Dependencia, y por qu\u00e9, al seguirla, construir\u00e1s una arquitectura de aplicaci\u00f3n adecuada. Por qu\u00e9 las dependencias deben dirigirse hacia los componentes de alta pol\u00edtica. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/domain\/\"   title=\"nombre de dominio\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4077\">nombre de dominio<\/a> (Los componentes de alta pol\u00edtica) deben ser independientes de la infraestructura y c\u00f3mo esto te facilitar\u00e1 el despliegue y el desarrollo.<\/p>\n<p><img decoding=\"async\" alt=\"Breve resumen: Clean Architecture, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/be7b51d067415390e0098339fb6cda46.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Abstracci\u00f3n<\/h3>\n<p>\nEl t\u00edo Rob tambi\u00e9n relata c\u00f3mo los detalles de implementaci\u00f3n pueden perjudicar tu sistema, y no permitirle evolucionar sin dolor en el futuro.<\/p>\n<p>\u00a1Recuerda!<br \/>\nLa BD es un detalle de implementaci\u00f3n<br \/>\nLos clientes (Web, M\u00f3vil, etc.) son detalles de implementaci\u00f3n<br \/>\nLos frameworks son un detalle de implementaci\u00f3n<\/p>\n<p>Es necesario abstraerse al m\u00e1ximo de todo esto y no depender, utilizando el mencionado Inversi\u00f3n de Dependencias con interfaces y abstracciones, la Regla de Dependencia y otros mecanismos.<\/p>\n<h3>M\u00e9todos para construir m\u00f3dulos<\/h3>\n<p>\nEsta secci\u00f3n me gust\u00f3 especialmente, como desarrollador de servicios en ASP .NET CORE. Aqu\u00ed se discuten metodolog\u00edas para construir una arquitectura \u00fanica de servicio a partir de componentes existentes. <\/p>\n<p>Robert describi\u00f3 4 posibles esquemas de separaci\u00f3n de capas.<\/p>\n<p>Dej\u00f3 claro por qu\u00e9 el mecanismo de arquitectura de tres capas tan frecuentemente utilizado: UI (controladores), Servicios (Dominio), DAL (Base de Datos) \u2014 es bastante malo en comparaci\u00f3n con otros. He visto no muchos proyectos, pero en cada microservicio por ejemplo, en el backend, se utiliza precisamente la arquitectura de tres capas. <\/p>\n<p>Adem\u00e1s, a menudo se utiliza la arquitectura de un componente por servicio. En general, ambas son buenas, pero tiene muchas desventajas en comparaci\u00f3n con, por ejemplo, c\u00f3mo se construye la arquitectura usando DDD, especialmente en servicios cr\u00edticos al cambio y complejos.<\/p>\n<p>En general, hemos llegado al final de esta rese\u00f1a del libro. Me gust\u00f3 mucho el libro, no me arrepiento de haberlo le\u00eddo, gracias al autor. Ustedes, queridos lectores, gracias por su atenci\u00f3n, no sean demasiado duros \u2014 esta publicaci\u00f3n se basa en mis impresiones sobre el libro y mi entusiasmo personal.<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/464185\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0438 \u043e \u043a\u043d\u0438\u0433\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u0431\u044b\u043b\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u044b \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041c\u043e\u0436\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0438\u0442\u0430\u044f \u044d\u0442\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0434\u0430\u0442\u044c \u0447\u0435\u0442\u043a\u0438\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430? \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f? \u041a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u043e\u043d\u0430 \u0438\u0433\u0440\u0430\u0435\u0442? \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043d\u0435\u044f\u0441\u043d\u043e\u0441\u0442\u0435\u0439 \u0435\u0441\u0442\u044c \u0432 \u044d\u0442\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0435. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27958,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37273","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0438 \u043e \u043a\u043d\u0438\u0433\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u0431\u044b\u043b\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u044b \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041c\u043e\u0436\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0438\u0442\u0430\u044f \u044d\u0442\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0434\u0430\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0440\u043e\u0442\u043a\u043e \u043e \u0433\u043b\u0430\u0432\u043d\u043e\u043c: Clean Architecture, Robert C. Martin | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0438 \u043e \u043a\u043d\u0438\u0433\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u0431\u044b\u043b\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u044b \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041c\u043e\u0436\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0438\u0442\u0430\u044f \u044d\u0442\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0434\u0430\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:16:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:16:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Brevemente sobre lo principal: Clean Architecture, Robert C. Martin | ProHoster","description":"Este ser\u00e1 un relato sobre las impresiones del libro, as\u00ed como se abordar\u00e1n algunos conceptos y conocimientos que, gracias a este libro, fueron aprendidos Arquitectura. \u00bfPuede usted, al leer esta publicaci\u00f3n, proporcionar feedback?","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0440\u043e\u0442\u043a\u043e \u043e \u0433\u043b\u0430\u0432\u043d\u043e\u043c: Clean Architecture, Robert C. Martin | ProHoster","og:description":"\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0438 \u043e \u043a\u043d\u0438\u0433\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u0431\u044b\u043b\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u044b \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041c\u043e\u0436\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0438\u0442\u0430\u044f \u044d\u0442\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0434\u0430\u0442\u044c.","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:16:42+00:00","article:modified_time":"2019-10-31T19:16:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37273","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-03-05 11:16:40","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:30:00","updated":"2026-03-05 11:16:40","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/37273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=37273"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/37273\/revisions"}],"predecessor-version":[{"id":163180,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/37273\/revisions\/163180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/27958"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=37273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=37273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=37273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}