{"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\/de\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin","title":{"rendered":"Kurz und b\u00fcndig: Clean Architecture, Robert C. Martin","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dies wird eine Erz\u00e4hlung \u00fcber den Eindruck von dem Buch sein, sowie werden einige Konzepte und Kenntnisse betrachtet, die dank dieses Buches erlernt wurden.<\/p>\n<h3>Architektur<\/h3>\n<p>\nK\u00f6nnen Sie, w\u00e4hrend Sie diese Ver\u00f6ffentlichung lesen, eine klare Antwort auf die Frage geben, was Architektur ist? Was ist Architektur im Kontext von Programmierung und Design? Welche Rolle spielt sie? Es gibt genug Unklarheiten in diesem Begriff. Es scheint klar zu sein, aber irgendwie abstrakt und ohne Genauigkeit. Martin ist der Meinung, und ich stimme ihm zu, dass eine Anwendung zwei Komponenten hat: <\/p>\n<ol>\n<li>Verhalten (behavior) \u2013 die Funktionen und Aufgaben, die das Programm (Komponente, Dienst) ausf\u00fchrt.<\/li>\n<li>Architektur \u2013 dieser Begriff handelt haupts\u00e4chlich von der Ver\u00e4nderung der Anwendung.<\/li>\n<\/ol>\n<p>\nAber selbst wenn eine Anwendung die Aufgabe, die sie erf\u00fcllen soll, sehr gut erf\u00fcllt, bedeutet das noch lange nicht, dass sie eine gute Architektur hat. Architektur handelt nicht vom Verhalten der Anwendung. Architektur handelt von der Leichtigkeit der Ver\u00e4nderbarkeit, Architektur handelt von der Leichtigkeit der Bereitstellung, Architektur handelt von der Unabh\u00e4ngigkeit der Entwicklung. Architektur handelt von der Geschwindigkeit, mit der neues Verst\u00e4ndnis zu einer neuen Person im Team kommt.<\/p>\n<p>Und wie man diese Architektur aufbaut, wie man sich von Kopfschmerzen bei kleinen \u00c4nderungen von Anforderungen des PM oder des Stakeholders befreit: dar\u00fcber wird das Buch berichten.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>\u00dcber die Autoren<\/h3>\n<p>\nBevor ich etwas \u00fcber dieses Buch sage, m\u00f6chte ich ein wenig \u00fcber mich selbst erz\u00e4hlen.<br \/>\nZurzeit bin ich ein starker Junior-Entwickler, der sich auf die Entwicklung von Diensten mit ASP .NET CORE spezialisiert hat.<\/p>\n<p>Ich arbeite seit einem Jahr in einer \u201eGalerie\u201c und scheine mich langsam ein wenig zu bew\u00e4hren.<\/p>\n<p>Ich habe dieses Buch bereits zweimal gelesen und empfehle es allen:<\/p>\n<ul>\n<li>Entwicklern von eingebetteten Systemen;<\/li>\n<li>Frontend-Entwicklern;<\/li>\n<li>Backend-Entwicklern;<\/li>\n<li>und sogar DevOps.<\/li>\n<\/ul>\n<p>\nIm Allgemeinen allen, die irgendwie mit Softwareentwicklung verbunden sind, d.h. die direkte Entwicklung von verschiedenen Softwarel\u00f6sungen umfasst, PMs und Sales z\u00e4hlen hier nicht dazu (obwohl es auch n\u00fctzlich w\u00e4re zu wissen, warum Entwickler manchmal doppelt so viel Zeit f\u00fcr eine Aufgabe ben\u00f6tigen), ich empfehle, dieses Buch zu lesen.<br \/>\nUnd jetzt werde ich versuchen zu argumentieren, warum ich so denke.<\/p>\n<p>Ein wenig \u00fcber den Autor dieses Buches (weil f\u00fcr mich die Autorit\u00e4t des Schreibenden eine gro\u00dfe Rolle spielt). Ich denke, Sie werden mich verstehen, auch wenn das nicht immer richtig ist, aber wenn Ihnen eine autoritative Person auf einem Gebiet etwas sagt - zeigen Sie viel mehr Vertrauen in das Gesagte. Zum Beispiel denke ich, dass Sie dem Urteil eines Arztes \u00fcber eine Diagnose eher Glauben schenken als dem eines Menschen aus der Menge (der Symptome gegoogelt hat).<\/p>\n<p>Robert Martin - auch bekannt als Uncle Bob - arbeitet seit 1970 im Bereich Programmierung, und zwar in verschiedenen Systemen (von Webservices bis Embedded Systems). Er ist technischer Berater und Architekt, hat f\u00fcr verschiedene technische Zeitschriften geschrieben, ist ein sehr erfahrener Programmierer und ein Mensch, der eine der Schl\u00fcsselrollen bei der Entwicklung der allseits bekannten SOLID-Prinzipien gespielt hat (man kann sagen, er ist der Sch\u00f6pfer). Ich m\u00f6chte auch hinzuf\u00fcgen, dass mir dieses Buch von meinem Teamleiter mit \u00fcber 15 Jahren Berufserfahrung empfohlen wurde.<\/p>\n<h2>\u00dcber das Buch<\/h2>\n<p><\/p>\n<h3>Abh\u00e4ngigkeiten<\/h3>\n<p>\nVor der Lekt\u00fcre des Buches habe ich viele Artikel auf Habr\u00e9 gelesen, in denen das Wort \"Abh\u00e4ngigkeit\" vorkam. Was ist das, wer h\u00e4ngt von wem ab, was bedeutet \"abh\u00e4ngen\", und wie kann eine Klasse von einer anderen abh\u00e4ngen? <\/p>\n<p>Und w\u00e4hrend ich das Buch las, habe ich zwei Punkte verstanden:<\/p>\n<p>Eine Abh\u00e4ngigkeit ist ein Begriff, der bedeutet, dass eine Klasse (Komponente, Dienst) \u00fcber eine andere Klasse (Komponente, Dienst) Bescheid wei\u00df, und dieses Wissen wird auf Code-Ebene festgestellt (jetzt werden Java-Entwickler, C#-Entwickler und C-Entwickler mich verstehen) durch einen bestimmten Import des Namensraums. Mit anderen Worten: Wenn Sie eine Klasse A mit dem Namensraum Default.Classes und Klasse B mit Another.Classes haben. Wenn der Quellcode von Klasse A die Zeile using Another.Classes; enth\u00e4lt, bedeutet das, dass Klasse A von Klasse B abh\u00e4ngt. <br \/>\nUm im Diagramm zu erkennen, wo die abh\u00e4ngige Klasse ist und wo nicht - achten Sie auf die Richtung des Pfeils: In 1) zeigt der Pfeil von Klasse A in Richtung Klasse B. Das bedeutet, dass Klasse B unabh\u00e4ngiger ist als Klasse A. \u00c4nderungen in Klasse A werden Klasse B keinen \"Schaden\" zuf\u00fcgen.<\/p>\n<p><img decoding=\"async\" alt=\"Kurz und b\u00fcndig: 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>\nEiner der Hauptgr\u00fcnde, warum ich dieses Buch gelesen habe, ist die Erkl\u00e4rung der SOLID-Prinzipien aus erster Hand, denn Onkel Bob hat diese Prinzipien entwickelt, und man kann sagen, dass wir ihm verdanken, dass wir diesen Namen - SOLID - h\u00f6ren.<br \/>\nF\u00fcr diejenigen, die nicht im Bilde sind \u2013 diese Prinzipien besagen und empfehlen, Ihre Anwendungen gem\u00e4\u00df 5 Regeln zu gestalten:<\/p>\n<p>S \u2013 SRP (Single Responsibility Principle)<br \/>\nO \u2013 OCP (Open-Closed Principle)<br \/>\nL \u2013 LSP (Liskov Substitution Principle)<br \/>\nI \u2013 ISP (Interface Segregation Principle)<br \/>\nD \u2013 DIP (Dependency Inversion Principle)<\/p>\n<p>Alle diese Prinzipien k\u00f6nnen auf Klassen- und Objektlevel, auf Module und Komponenten sowie auf Ebenen (Services) angewendet werden.<\/p>\n<p>Wenn Sie der Meinung sind, dass das Single Responsibility Principle besagt, dass eine Klasse oder ein Modul nur eine Aufgabe erf\u00fcllen sollte \u2013 dann m\u00fcssen Sie unbedingt mindestens das Kapitel \u00fcber SOLID lesen. Denn die obige Definition ist nur eine Konsequenz und kein tats\u00e4chliches Definition des Prinzips.<\/p>\n<h3>\u00dcber Dependency Inversion<\/h3>\n<p>\nBesonders erw\u00e4hnenswert ist die Erkl\u00e4rung des Dependency Inversion Principle (das 'D' aus SOLID). W\u00e4hrend ich das Buch las, wurde mir klar, dass es nicht nur ein Prinzip ist, sondern auch ein Mechanismus und ein Werkzeug, mit dem Sie die Richtung Ihrer Abh\u00e4ngigkeiten \u00e4ndern und beispielsweise die Gesch\u00e4ftslogik (DOMAIN) unabh\u00e4ngig von den Implementierungsdetails der Datenzugriffsschicht (DAL) machen k\u00f6nnen.<\/p>\n<p><img decoding=\"async\" alt=\"Kurz und b\u00fcndig: Clean Architecture, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/0bceb51ecdb3d220d8a311d0ccdb26d7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nObwohl das Prinzip neben den anderen in SOLID nicht ganz das Gleiche wie der Mechanismus bedeutet, wird der Mechanismus w\u00e4hrend des gesamten Buches verwendet und ist eine der grundlegenden Methoden, um die Richtung Ihrer Abh\u00e4ngigkeiten umzudrehen und zu \u00e4ndern, die \u00fcbrigens bei DDD verwendet wird.<\/p>\n<h3>\u00dcber die Annahme architektonischer Entscheidungen<\/h3>\n<p>\nSehr oft wird im Buch auf das Prinzip der Annahme wichtiger architektonischer Entscheidungen hingewiesen: Welche Datenbank zu verwenden, welches Framework zu nutzen, welche Bibliothek zu integrieren, welchen Suchalgorithmus zu verwenden usw.<\/p>\n<p>Der Autor ist der Meinung: Sie sollten solche Entscheidungen SO WENIG WIE M\u00d6GLICH treffen. Denn die Anforderungen k\u00f6nnen sich \u00e4ndern, auch die Einschr\u00e4nkungen hinsichtlich der Leistung; das Verhalten unterliegt ebenfalls \u00c4nderungen. Im Verlauf der Entwicklung kann sich eine L\u00f6sung als weniger effektiv oder weniger komfortabel herausstellen als eine andere. Die St\u00e4rke Ihrer Architektur wird bestimmen, wie schnell und schmerzlos Sie eine Technologie durch eine andere ersetzen k\u00f6nnen (darauf besteht \u00fcbrigens OCP).<\/p>\n<p>Zum Beispiel entscheiden Sie sich pl\u00f6tzlich, anstelle von PostgreSQL MongoDB zu verwenden, oder sogar Dateien, oder Sie nutzen gemockte Daten, mit denen Operationen im Speicher durchgef\u00fchrt werden. Und unter bestimmten Umst\u00e4nden kann dies dazu f\u00fchren, dass beinahe die gesamte Logik neu geschrieben werden muss. <\/p>\n<p>Um solche Situationen zu vermeiden, k\u00f6nnen wir einige Mechanismen verwenden, die den Zeitpunkt der Entscheidungsfindung so weit wie m\u00f6glich hinausz\u00f6gern. Ein solcher Mechanismus ist die Abstraktion.<\/p>\n<h3>Verweise auf DDD<\/h3>\n<p>\nDDD \u2014 Domain Driven Design \u2014 ist ein Ansatz zur Entwicklung von Dienstleistungen mit komplexer Gesch\u00e4ftslogik, die kritisch auf \u00c4nderungen reagiert. Dieser Ansatz zielt darauf ab, das Verst\u00e4ndnis der Projektleiter (PMs, Vertriebsleiter usw.) sowie der Teammitglieder zu maximieren. Das bedeutet, dass alle Projektmitglieder eine gemeinsame Sprache sprechen sollten und jeder den anderen verstehen kann, sodass alle im selben Fachgebiet mit denselben Gesch\u00e4ftsregeln denken.<\/p>\n<p>Wenn Sie ein Anh\u00e4nger von DDD sind, oder es werden m\u00f6chten, oder wenn Sie etwas davon nicht verstehen, aber mehr wissen m\u00f6chten \u2014 ist das Buch eine Pflichtlekt\u00fcre, insbesondere der zweite Teil des Buches.<\/p>\n<p>Hier erkl\u00e4rt der Autor das Konzept der Dependency Rule und warum Sie, wenn Sie ihm folgen, eine richtige Anwendungsarchitektur entwickeln werden. Warum Abh\u00e4ngigkeiten in Richtung der Komponenten mit hoher Politik folgen sollten, warum <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/domain\/\"   title=\"Domain haben\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4077\">Domain haben<\/a> (Komponente mit hoher Politik) unabh\u00e4ngig von der Infrastruktur sein sollte und wie das Ihnen bei Deployment und Entwicklung helfen wird.<\/p>\n<p><img decoding=\"async\" alt=\"Kurz und b\u00fcndig: Clean Architecture, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/be7b51d067415390e0098339fb6cda46.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Abstrahierung<\/h3>\n<p>\nOnkel Rob erz\u00e4hlt auch, wie die Details der Implementierung Ihrer System schaden k\u00f6nnen, und es Ihnen in Zukunft schwer machen, ohne Schmerzen zu evolvieren.<\/p>\n<p>Denken Sie daran!<br \/>\nDie Datenbank ist ein Detail der Implementierung.<br \/>\nDie Clients (Web, Mobile usw.) sind Details der Implementierung.<br \/>\nFrameworks sind ein Detail der Implementierung.<\/p>\n<p>Von all dem sollte man sich so weit wie m\u00f6glich abstrahieren und nicht davon abh\u00e4ngen, indem man die oben beschriebene Dependency Inversion mit Schnittstellen und Abstraktionen, die Dependency Rule und andere Mechanismen verwendet.<\/p>\n<h3>Methoden zum Aufbau von Modulen<\/h3>\n<p>\nDieser Abschnitt hat mir besonders gut gefallen, als Entwickler von Diensten auf ASP .NET CORE. Denn hier werden die Methoden zur Schaffung einer einheitlichen Architektur des Dienstes aus fertigen Komponenten beschrieben. <\/p>\n<p>Robert beschreibt 4 m\u00f6gliche Modelle zur Schichtung.<\/p>\n<p>Er machte deutlich, warum der so h\u00e4ufig verwendete Mechanismus der 3-Schichten-Architektur: UI (Controller), Dienste (Domain), DAL (Datenbank) \u2014 im Vergleich zu anderen ziemlich schlecht ist. Ich habe nicht viele Projekte gesehen, aber in jedem, zum Beispiel in Mikrodiensten, wird genau diese Drei-Schichten-Architektur im Backend verwendet. <\/p>\n<p>Ebenfalls wird h\u00e4ufig die Architektur ein-Komponente-ein-Dienst verwendet. Insgesamt sind beide nicht schlecht, aber sie hat im Vergleich, zum Beispiel, zur Architektur, die bei der Verwendung von DDD aufgebaut wird, besonders bei kritischen \u00c4nderungen und komplexen Diensten, einige Nachteile.<\/p>\n<p>Nun, damit ist diese Rezension \u00fcber das Buch zu Ende. Mir hat das Buch sehr gut gefallen, ich bereue das Gelesene nicht, danke an den Autor. Ihnen, liebe Leser, danke f\u00fcr Ihre Aufmerksamkeit, urteilen Sie nicht zu streng \u2013 diese Ver\u00f6ffentlichung basiert auf den Eindr\u00fccken vom Buch und meinem pers\u00f6nlichen Enthusiasmus.<br \/>\n<br \/>Quelle: <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.1.1 - 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\/de\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Kurz und b\u00fcndig: Clean Architecture, Robert C. Martin | ProHoster","description":"Dies wird eine Erz\u00e4hlung \u00fcber die Eindr\u00fccke des Buches sein, und es werden auch einige Konzepte und Kenntnisse behandelt, die durch dieses Buch erlernt wurden. Architektur. K\u00f6nnen Sie, w\u00e4hrend Sie diese Ver\u00f6ffentlichung lesen, geben.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/37273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=37273"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/37273\/revisions"}],"predecessor-version":[{"id":163180,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/37273\/revisions\/163180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/27958"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=37273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=37273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=37273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}