{"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\/novosti-interneta\/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 die Eindr\u00fccke von einem Buch sein, sowie einige Konzepte und Kenntnisse, die durch dieses Buch erworben wurden.<\/p>\n<h3>Architektur von<\/h3>\n<p>\nK\u00f6nnen Sie, w\u00e4hrend Sie diesen Beitrag lesen, eine klare Antwort auf die Frage geben: Was ist Architektur? Was bedeutet Architektur im Kontext von Programmierung und Design? Welche Rolle spielt sie? Es gibt viele Unklarheiten in diesem Begriff. Und obwohl alles klar zu sein scheint, bleibt es irgendwie abstrakt und ungenau. Martin ist der Meinung, und ich teile diese Ansicht, 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 bezieht sich vielmehr auf die Ver\u00e4nderung der Anwendung.<\/li>\n<\/ol>\n<p>\nAber selbst wenn eine Anwendung ihre Aufgabe sehr gut erf\u00fcllt, bedeutet das nicht, dass sie eine gute Architektur hat. Architektur handelt nicht vom Verhalten einer Anwendung. Architektur befasst sich mit der \u00c4nderbarkeit, Architektur mit der Bereitstellung, Architektur mit der Unabh\u00e4ngigkeit der Entwicklung. Architektur ist die Geschwindigkeit, mit der neues Verst\u00e4ndnis zu einem neuen Mitglied im Team kommt.<\/p>\n<p>Und so wird erkl\u00e4rt, wie man diese Architektur aufbaut und wie man Kopfschmerzen aufgrund kleiner \u00c4nderungen der Anforderungen von PM oder Stakeholdern vermeidet: darum geht es in diesem Buch.<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 kurz etwas \u00fcber mich erz\u00e4hlen.<br \/>\nIch bin derzeit ein Strong Junior Developer, der sich auf die Entwicklung von Services mit ASP .NET CORE spezialisiert.<\/p>\n<p>Ich arbeite seit einem Jahr in einem \u201eStartup\u201c und komme scheinbar ganz gut zurecht.<\/p>\n<p>Ich habe dieses Buch bereits zweimal gelesen und empfehle es jedem:<\/p>\n<ul>\n<li>Entwicklern von Embedded-Systemen;<\/li>\n<li>Frontend-Entwicklern;<\/li>\n<li>Backend-Entwicklern;<\/li>\n<li>und sogar DevOps-Profis.<\/li>\n<\/ul>\n<p>\nKurz gesagt, jedem, der irgendwie mit der Softwareentwicklung zu tun hat, und zur direkten Softwareentwicklung, was Sales und PM nicht einschlie\u00dft (obwohl es auch n\u00fctzlich w\u00e4re zu wissen, warum Entwickler manchmal doppelt so viel Zeit f\u00fcr eine Aufgabe ben\u00f6tigen), empfehle ich, dieses Buch zu lesen.<br \/>\nUnd jetzt werde ich versuchen zu argumentieren, warum ich das so sehe.<\/p>\n<p>Ein wenig \u00fcber den Autor dieses Buches (denn die Autorit\u00e4t des Schreibenden spielt f\u00fcr mich eine gro\u00dfe Rolle). Ich denke, Sie werden mich verstehen; auch wenn das nicht immer richtig ist, zeigen wir oft mehr Vertrauen in die Aussagen einer autorit\u00e4ren Person in ihrem Bereich. Zum Beispiel glauben wir eher einer Diagnose, die uns ein Arzt stellt, als einer Person aus der Menge, die die Symptome gegoogelt hat.<\/p>\n<p>Robert C. Martin, auch bekannt als Uncle Bob (Onkel Bob), arbeitet seit 1970 im Bereich der Programmierung, einschlie\u00dflich verschiedener Systeme (von Webdiensten bis hin zu Embedded-Systemen). Er ist technischer Berater und Architekt, hat in verschiedenen Fachzeitschriften geschrieben und ist selbst ein sehr erfahrener Programmierer. Er hat eine Schl\u00fcsselrolle bei der Entwicklung der bekannten SOLID-Prinzipien gespielt (man k\u00f6nnte sagen, er ist deren Sch\u00f6pfer). Au\u00dferdem m\u00f6chte ich erw\u00e4hnen, dass mir dieses Buch von meinem Teamleiter mit \u00fcber 15 Jahren Erfahrung empfohlen wurde.<\/p>\n<h2>\u00dcber das Buch<\/h2>\n<p><\/p>\n<h3>Abh\u00e4ngigkeiten<\/h3>\n<p>\nBevor ich das Buch las, hatte ich bereits viele Artikel auf demselben Medium gelesen, in denen das Wort \u201eAbh\u00e4ngigkeit\u201c vorkam. Was bedeutet das, wer ist von wem abh\u00e4ngig, was bedeutet konkret \u201eabh\u00e4ngen\u201c, und wie kann eine Klasse von einer anderen abh\u00e4ngen? <\/p>\n<p>W\u00e4hrend ich das Buch las, habe ich zwei Punkte verstanden:<\/p>\n<p>Abh\u00e4ngigkeit ist ein Begriff, der beschreibt, dass eine Klasse (Komponente, Dienst) \u00fcber eine andere Klasse (Komponente, Dienst) informiert ist, und dieses Wissen im Code durch einen bestimmten Namespace-Import definiert wird (jetzt wissen Java-Entwickler, C#-Entwickler und C-Entwickler, was ich meine). Anders ausgedr\u00fcckt: Sie haben eine Klasse A mit dem Namespace Default.Classes und eine Klasse B mit Another.Classes. Wenn also im Quellcode von Klasse A steht using Another.Classes; \u2014 dann bedeutet das, dass Klasse A von Klasse B abh\u00e4ngt. <br \/>\nUm auf der Grafik zu sehen, wo die abh\u00e4ngige Klasse ist und wo nicht \u2014 beachten Sie 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. Und Ver\u00e4nderungen in Klasse A werden der Klasse B keinen \u201eSchaden\u201c 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 zu verdanken haben, dass wir diesen Namen \u2013 SOLID \u2013 h\u00f6ren.<br \/>\nF\u00fcr diejenigen, die nicht im Bilde sind \u2013 diese Prinzipien sagen aus und empfehlen, Ihre Anwendungen nach 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 der Ebene von Klassen und Objekten, auf der Ebene von Modulen und Komponenten sowie auf der Ebene von Schichten (Services) angewendet werden.<\/p>\n<p>Wenn Sie denken, dass das Single Responsibility Principle bedeutet, dass eine Klasse oder ein Modul nur eine einzige Aufgabe erledigen sollte, dann sollten Sie unbedingt zumindest das Kapitel \u00fcber SOLID lesen. Denn die oben gegebene Definition ist eine Folge, aber keineswegs die Definition des Prinzips.<\/p>\n<h3>\u00dcber Dependency Inversion<\/h3>\n<p>\nBesonderes Augenmerk m\u00f6chte ich auf die Erkl\u00e4rung des Dependency Inversion Principle (das D aus SOLID) legen. W\u00e4hrend des Lesens des Buches wurde mir klar, dass es sich hierbei nicht nur um ein Prinzip handelt, sondern auch um einen Mechanismus und ein Werkzeug, mit dem Sie die Richtung Ihrer Abh\u00e4ngigkeiten \u00e4ndern k\u00f6nnen, und beispielsweise die Gesch\u00e4ftslogik (DOMAIN) unabh\u00e4ngig von den Implementierungsdetails der Data Access Layer (DAL) gestalten 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 zusammen mit den anderen in SOLID steht, bedeutet es etwas anderes als der Mechanismus selbst, wird dieser Mechanismus durch das gesamte Buch hindurch verwendet und ist eine der Hauptmethoden, um Ihre Abh\u00e4ngigkeiten umzukehren und deren Richtung zu \u00e4ndern. Interessanterweise wird es auch im DDD verwendet.<\/p>\n<h3>Zur Entscheidung \u00fcber architektonische L\u00f6sungen<\/h3>\n<p>\nSehr h\u00e4ufig wird im Buch auf das Prinzip der Entscheidungsfindung \u00fcber wichtige architektonische Entscheidungen hingewiesen: welche Datenbank zu verwenden, welches Framework zu w\u00e4hlen, welche Bibliothek einzubinden, welche Suchmaschine zu verwenden usw.<\/p>\n<p>Der Autor ist der Auffassung, dass Sie solche Entscheidungen so wenig wie m\u00f6glich treffen sollten. Denn Anforderungen k\u00f6nnen sich \u00e4ndern, die Leistungsbeschr\u00e4nkungen ebenfalls, und auch das Verhalten hat die Tendenz, sich zu wandeln. W\u00e4hrend der Entwicklung kann sich eine Entscheidung als weniger effektiv oder weniger komfortabel im Vergleich zu einer anderen erweisen. Die St\u00e4rke Ihrer Architektur bestimmt, wie schnell und schmerzfrei Sie eine Technologie durch eine andere ersetzen k\u00f6nnen (dar\u00fcber spricht \u00fcbrigens auch das OCP).<\/p>\n<p>Beispielsweise entscheiden Sie pl\u00f6tzlich, statt PostgreSQL MongoDB zu nutzen, oder sogar Dateien oder Mock-Daten zu verwenden, mit denen Operationen im Speicher durchgef\u00fchrt werden. Unter bestimmten Bedingungen k\u00f6nnte dies dazu f\u00fchren, dass fast die gesamte Logik neu geschrieben werden muss. <\/p>\n<p>Um solche Situationen zu vermeiden, k\u00f6nnen wir einige Mechanismen einsetzen, die den Zeitpunkt der Entscheidungsfindung so weit wie m\u00f6glich hinausz\u00f6gern. Einer dieser Mechanismen ist die Abstraktion.<\/p>\n<h3>Verweise auf DDD<\/h3>\n<p>\nDDD \u2014 Domain Driven Design \u2014 ein Ansatz zur Entwicklung von Services mit komplexer Gesch\u00e4ftslogik, die kritisch auf Ver\u00e4nderungen reagieren muss. Dieser Ansatz zielt darauf ab, ein maximales Verst\u00e4ndnis zwischen den verantwortlichen Personen im Projekt (Projektmanager, Vertriebsleiter usw.) und den Teammitgliedern zu erreichen. Das bedeutet, dass alle Projektbeteiligten eine gemeinsame Sprache verwenden, um sich gegenseitig zu verstehen, und dass jeder im selben Fachbereich mit denselben Gesch\u00e4ftsregeln denkt.<\/p>\n<p>Wenn Sie ein Bef\u00fcrworter von DDD sind, oder sein m\u00f6chten, oder wenn Sie etwas dar\u00fcber erfahren m\u00f6chten, aber noch unsicher sind \u2014 dieses Buch ist ein Muss, insbesondere der zweite Teil.<\/p>\n<p>Hier erkl\u00e4rt der Autor das Prinzip der Dependency Rule und warum Sie, wenn Sie ihm folgen, die richtige Architektur Ihrer Anwendung aufbauen werden. Warum Abh\u00e4ngigkeiten in Richtung der High Policy-Komponenten gerichtet sein sollten, und warum <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/domain\/\"   title=\"Hosting\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4077\">Hosting<\/a> (High Policy-Komponenten) unabh\u00e4ngig von der Infrastruktur sein sollten und wie dies Ihre Deployment- und Entwicklungsprozesse vereinfachen kann.<\/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>Abstraktion<\/h3>\n<p>\nOnkel Rob erkl\u00e4rt auch, wie die Implementierungsdetails Ihrer Systemarchitektur schaden k\u00f6nnen und die Weiterentwicklung ohne Schwierigkeiten behindern k\u00f6nnten.<\/p>\n<p>Denken Sie daran!<br \/>\nDie Datenbank ist ein Implementierungsdetail.<br \/>\nKunden (Web, Mobile usw.) sind ebenfalls Details der Implementierung.<br \/>\nFrameworks sind ein Implementierungsdetail.<\/p>\n<p>Es ist wichtig, sich davon so weit wie m\u00f6glich zu abstrahieren und nicht abh\u00e4ngig zu sein, indem man das oben beschriebene Dependency Inversion mit Schnittstellen und Abstraktionen sowie die Dependency Rule und andere Mechanismen anwendet.<\/p>\n<h3>Methoden zur Modularisierung<\/h3>\n<p>\nDieser Abschnitt hat mir besonders gut gefallen, da ich Dienste auf ASP .NET CORE entwickle. Hier werden Methoden zur Erstellung einer einheitlichen Architektur aus fertigen Komponenten beschrieben. <\/p>\n<p>Robert hat vier m\u00f6gliche Schemas zur Trennung von Schichten beschrieben.<\/p>\n<p>Er hat erkl\u00e4rt, warum der so h\u00e4ufig verwendete Mechanismus der 3-Schichten-Architektur: UI (Controller), Services (Domain), DAL (Datenbank) im Vergleich zu anderen ziemlich schlecht ist. Ich habe nicht viele Projekte gesehen, aber in jedem, z. B. in Mikrodiensten, wird genau diese dreischichtige Architektur im Backend verwendet. <\/p>\n<p>Auch die Architektur eines Komponenten-ein-Dienstes wird h\u00e4ufig verwendet. Insgesamt sind beide Ans\u00e4tze nicht schlecht, jedoch haben sie im Vergleich zu der Architektur, die beispielsweise beim Einsatz von DDD, insbesondere bei kritischen \u00c4nderungen und komplexen Diensten, viele Nachteile.<\/p>\n<p>Insgesamt ist dies das Ende meiner Rezension des Buches. Mir hat das Buch sehr gut gefallen, und ich bereue das Lesen nicht. Vielen Dank an den Autor. Und Ihnen, liebe Leser, danke f\u00fcr Ihre Aufmerksamkeit. Urteilt nicht zu streng \u2013 diese Ver\u00f6ffentlichung basiert auf meinen Eindr\u00fccken aus dem 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-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - 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 \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.\" \/>\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\/novosti-interneta\/korotko-o-glavnom-clean-architecture-robert-c-martin\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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 \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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/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\udd47Kurze Zusammenfassung: Clean Architecture, Robert C. Martin | ProHoster","description":"Dies wird eine Erz\u00e4hlung \u00fcber meine Eindr\u00fccke des Buches sein, und es werden einige Konzepte und Kenntnisse betrachtet, die durch dieses Buch erlernt wurden. Architektur. K\u00f6nnen Sie, w\u00e4hrend Sie diesen Beitrag lesen, eine klare Antwort auf die Frage geben, was Architektur ist? Was bedeutet Architektur im Kontext von Programmierung und Design? Welche Rolle spielt sie? Es gibt in diesem Begriff recht viele Unklarheiten.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/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 \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.","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/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"},"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}]}}