{"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\/fr\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin","title":{"rendered":"En bref : Clean Architecture, Robert C. Martin","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ceci sera un r\u00e9cit des impressions sur le livre, ainsi qu'une analyse de certains concepts et connaissances qui, gr\u00e2ce \u00e0 ce livre, ont \u00e9t\u00e9 acquises.<\/p>\n<h3>Architecture<\/h3>\n<p>\nPouvez-vous, en lisant cette publication, donner une r\u00e9ponse claire \u00e0 la question : qu'est-ce que l'architecture ? Quelle est l'architecture dans le contexte de la programmation et de la conception ? Quel r\u00f4le joue-t-elle ? Il y a encore beaucoup d'ambigu\u00eft\u00e9s autour de ce terme. Tout semble clair, mais c'est d'une certaine mani\u00e8re abstrait et sans pr\u00e9cision. Martin estime, et je suis d'accord avec lui, qu'une application a deux composantes : <\/p>\n<ol>\n<li>Le comportement (behavior) \u2014 les fonctions et les t\u00e2ches que le programme (composant, service) ex\u00e9cute.<\/li>\n<li>L'architecture \u2014 ce terme est en grande partie li\u00e9 \u00e0 la modification de l'application.<\/li>\n<\/ol>\n<p>\nMais m\u00eame si l'application accomplit tr\u00e8s bien la t\u00e2che qu'elle doit r\u00e9aliser, cela ne signifie pas qu'elle a une bonne architecture. L'architecture n'est pas une question de comportement de l'application. L'architecture concerne la facilit\u00e9 de modification, l'architecture concerne la facilit\u00e9 de d\u00e9ploiement, l'architecture concerne l'ind\u00e9pendance du d\u00e9veloppement. L'architecture concerne la rapidit\u00e9 avec laquelle un nouvel arrivant dans l'\u00e9quipe comprend le syst\u00e8me.<\/p>\n<p>Et c'est ainsi que construire cette architecture, comment se d\u00e9barrasser de la douleur lors de petits changements dans les exigences du PM ou des parties prenantes : c'est ce que le livre met en lumi\u00e8re.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>\u00c0 propos des auteurs<\/h3>\n<p>\nAvant de parler de ce livre, je voudrais dire un peu sur moi.<br \/>\nActuellement, je suis un d\u00e9veloppeur Strong Junior, sp\u00e9cialis\u00e9 dans le d\u00e9veloppement de services avec ASP .NET CORE.<\/p>\n<p>Je travaille depuis un an dans une petite entreprise, et je g\u00e8re plut\u00f4t bien.<\/p>\n<p>J'ai d\u00e9j\u00e0 lu ce livre deux fois, et je le recommande \u00e0 tous :<\/p>\n<ul>\n<li>aux d\u00e9veloppeurs de syst\u00e8mes embarqu\u00e9s ;<\/li>\n<li>aux d\u00e9veloppeurs front-end ;<\/li>\n<li>aux d\u00e9veloppeurs back-end ;<\/li>\n<li>et m\u00eame aux devops.<\/li>\n<\/ul>\n<p>\nEn gros, \u00e0 tous ceux qui sont en quelque sorte impliqu\u00e9s dans le d\u00e9veloppement de logiciels, je veux dire le d\u00e9veloppement direct de divers logiciels ; les PM et autres ne sont pas inclus (bien que cela pourrait aussi \u00eatre utile de comprendre pourquoi un dev peut mettre deux fois plus de temps sur une t\u00e2che), je recommande de lire ce livre.<br \/>\nEt maintenant, je vais essayer d'argumenter pourquoi je pense cela.<\/p>\n<p>Un peu sur l\u2019auteur de ce livre (car pour moi, l\u2019autorit\u00e9 de l\u2019\u00e9crivain joue un grand r\u00f4le). Je pense que vous me comprendrez, bien que ce ne soit pas toujours juste, mais si une personne autoris\u00e9e dans le domaine vous parle, vous faites g\u00e9n\u00e9ralement plus confiance \u00e0 ce qu\u2019elle dit. Par exemple, je pense que vous croirez davantage au diagnostic pos\u00e9 par un m\u00e9decin qu\u2019\u00e0 celui d\u2019une personne lambda ayant simplement googl\u00e9 des sympt\u00f4mes.<\/p>\n<p>Robert Martin, \u00e9galement connu sous le nom d'Oncle Bob, travaille dans le domaine de la programmation, notamment dans divers syst\u00e8mes (des services web aux syst\u00e8mes embarqu\u00e9s), depuis 1970. Il est consultant technique et architecte, a \u00e9crit pour diverses revues techniques, est lui-m\u00eame un programmeur tr\u00e8s exp\u00e9riment\u00e9 et une personne qui a jou\u00e9 un r\u00f4le cl\u00e9 dans la cr\u00e9ation des c\u00e9l\u00e8bres principes SOLID (on peut dire qu'il en est le cr\u00e9ateur). De plus, je tiens \u00e0 ajouter que ce livre m\u2019a \u00e9t\u00e9 recommand\u00e9 par mon team lead avec plus de 15 ans d'exp\u00e9rience.<\/p>\n<h2>\u00c0 propos du livre<\/h2>\n<p><\/p>\n<h3>D\u00e9pendances<\/h3>\n<p>\nAvant de lire le livre, j'ai lu pas mal d'articles sur le m\u00eame sujet, o\u00f9 un mot revenait souvent : 'd\u00e9pendance'. Qu'est-ce que c'est, qui d\u00e9pend de qui, que signifie exactement 'd\u00e9pendre', et comment une certaine classe peut-elle d\u00e9pendre d'une autre ? <\/p>\n<p>Et au fur et \u00e0 mesure que je lisais le livre, j'ai compris deux choses :<\/p>\n<p>La d\u00e9pendance est un terme signifiant qu\u2019une classe (composant, service) conna\u00eet une autre classe (composant, service), et cette connaissance est d\u00e9finie au niveau du code (\u00e0 pr\u00e9sent, les d\u00e9veloppeurs Java, C#, C sont sur la m\u00eame longueur d\u2019onde) par une certaine importation de namespace. En d'autres termes : si vous avez la classe A avec le namespace Default.Classes et la classe B avec Another.Classes. Ainsi, si le code source de la classe A contient 'using Another.Classes ;' \u2014 cela signifie que la classe A d\u00e9pend de la classe B. <br \/>\nPour comprendre sur le sch\u00e9ma, o\u00f9 se trouve la classe d\u00e9pendante et o\u00f9 ne le sont pas \u2014 regardez la direction de la fl\u00e8che : dans 1), la fl\u00e8che pointera de la classe A vers la classe B. Cela signifie que la classe B est plus ind\u00e9pendante que la classe A. Et les changements dans la classe A ne causeront aucun \"dommage\" \u00e0 la classe B.<\/p>\n<p><img decoding=\"async\" alt=\"En bref : 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>\nL'une des principales raisons qui m'a pouss\u00e9 \u00e0 lire ce livre est l'explication des principes SOLID \u00e0 la source, car Oncle Bob a d\u00e9velopp\u00e9 ces principes et on peut dire que gr\u00e2ce \u00e0 lui, nous entendons ce nom : SOLID.<br \/>\nPour ceux qui ne sont pas au courant, ces principes recommandent de concevoir vos applications selon 5 r\u00e8gles :<\/p>\n<p>S \u2014 SRP (Principe de responsabilit\u00e9 unique)<br \/>\nO \u2014 OCP (Principe ouvert-ferm\u00e9)<br \/>\nL \u2014 LSP (Principe de substitution de Liskov)<br \/>\nI \u2014 ISP (Principe de s\u00e9paration des interfaces)<br \/>\nD \u2014 DIP (Principe d'inversion des d\u00e9pendances)<\/p>\n<p>Tous ces principes peuvent \u00eatre appliqu\u00e9s au niveau des classes et des objets, au niveau des modules et des composants, ainsi qu'au niveau des couches (services).<\/p>\n<p>Si vous pensez que le principe de responsabilit\u00e9 unique concerne un classe ou un module ne doit faire qu'une seule chose, vous devez absolument lire au moins le chapitre sur SOLID. En effet, la d\u00e9finition donn\u00e9e ci-dessus est une cons\u00e9quence, mais pas la d\u00e9finition m\u00eame du principe.<\/p>\n<h3>Sur l'inversion des d\u00e9pendances<\/h3>\n<p>\nJe veux attirer une attention particuli\u00e8re sur l'explication du principe d'inversion des d\u00e9pendances (celui qui est D dans SOLID). En lisant le livre, j'ai compris que ce n'est pas juste un principe, mais aussi un m\u00e9canisme et un outil gr\u00e2ce auquel vous pouvez changer la direction de vos d\u00e9pendances, et rendre, par exemple, la logique m\u00e9tier (DOMAIN) ind\u00e9pendante des d\u00e9tails de mise en \u0153uvre de la couche d'acc\u00e8s aux donn\u00e9es (DAL).<\/p>\n<p><img decoding=\"async\" alt=\"En bref : Clean Architecture, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/0bceb51ecdb3d220d8a311d0ccdb26d7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBien que le principe, comme les autres dans SOLID, signifie un peu moins que le m\u00e9canisme, ce m\u00eame m\u00e9canisme est utilis\u00e9 tout au long du livre et c'est l'un des principaux moyens d'inverser et de changer la direction de vos d\u00e9pendances, qui d'ailleurs est utilis\u00e9 dans DDD.<\/p>\n<h3>Sur la prise de d\u00e9cisions architecturales<\/h3>\n<p>\nLe livre mentionne tr\u00e8s souvent le principe de prise de d\u00e9cisions architecturales importantes : quel SGBD utiliser, quel framework adopter, quelle biblioth\u00e8que int\u00e9grer, quel moteur de recherche utiliser, etc.<\/p>\n<p>Ainsi, l'auteur estime que vous devez prendre le moins de d\u00e9cisions de ce type POSSIBLE. En effet, les exigences peuvent changer, les contraintes de performance aussi, et le comportement a tendance \u00e0 varier. Au cours du d\u00e9veloppement, une certaine d\u00e9cision peut sembler moins efficace qu'une autre, moins pratique qu'une autre. Et la force de votre architecture d\u00e9terminera \u00e0 quelle vitesse et sans douleur vous pourrez remplacer une technologie par une autre (d'ailleurs, c'est ce que dit l'OCP).<\/p>\n<p>Par exemple, soudainement, vous d\u00e9cidez d'utiliser MongoDB \u00e0 la place de PostgreSQL, ou m\u00eame des fichiers, ou d'utiliser des donn\u00e9es mock\u00e9es, dont les op\u00e9rations seraient effectu\u00e9es en m\u00e9moire. Et dans certaines conditions, cela peut obliger \u00e0 r\u00e9\u00e9crire presque toute la logique. <\/p>\n<p>Pour \u00e9viter de telles situations, nous pouvons utiliser certains m\u00e9canismes qui repoussent au maximum le moment de la prise de d\u00e9cision. L'un de ces m\u00e9canismes est l'abstraction.<\/p>\n<h3>R\u00e9f\u00e9rences au DDD<\/h3>\n<p>\nDDD \u2014 Domain Driven Design \u2014 est une approche de d\u00e9veloppement de services avec une logique m\u00e9tier complexe, critique aux changements, qui vise une compr\u00e9hension maximale des postes de direction dans le projet (PMs, responsables des ventes, etc.) par les membres de l'\u00e9quipe. Cela signifie qu'il doit y avoir un langage omnipr\u00e9sent entre tous les membres du projet, ce qui permet \u00e0 chacun de comprendre l'autre et de penser dans un m\u00eame domaine avec des r\u00e8gles commerciales identiques.<\/p>\n<p>Si vous \u00eates un partisan du DDD, ou si vous souhaitez le devenir, ou si vous ne comprenez pas encore tout mais d\u00e9sirez comprendre \u2014 ce livre est incontournable, en particulier la deuxi\u00e8me partie.<\/p>\n<p>Ici, l'auteur explique l'existence de la R\u00e8gle de D\u00e9pendance, et pourquoi, en la suivant, vous construirez la bonne architecture d'application. Pourquoi les d\u00e9pendances doivent suivre la direction des composants de Haute Politique, pourquoi <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/domain\/\"   title=\"domaine\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4077\">domaine<\/a> (Un composant de Haute Politique) doit \u00eatre ind\u00e9pendant de l'infrastructure et comment cela facilitera votre d\u00e9ploiement et d\u00e9veloppement<\/p>\n<p><img decoding=\"async\" alt=\"En bref : Clean Architecture, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/be7b51d067415390e0098339fb6cda46.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Abstraction<\/h3>\n<p>\nTonton Rob explique \u00e9galement comment les d\u00e9tails d'impl\u00e9mentation peuvent nuire \u00e0 votre syst\u00e8me et l'emp\u00eacher d'\u00e9voluer sans douleur par la suite.<\/p>\n<p>N'oubliez pas !<br \/>\nLa BD est un d\u00e9tail d'impl\u00e9mentation<br \/>\nLes Clients (Web, Mobile, etc.) sont des d\u00e9tails d'impl\u00e9mentation<br \/>\nLes Frameworks sont des d\u00e9tails d'impl\u00e9mentation<\/p>\n<p>Il est essentiel de s'abstraire au maximum de tout cela et de ne pas en d\u00e9pendre, en utilisant l'Inversion de D\u00e9pendance d\u00e9crite ci-dessus avec des interfaces et des abstractions, la R\u00e8gle de D\u00e9pendance et d'autres m\u00e9canismes.<\/p>\n<h3>M\u00e9thodes de construction de modules<\/h3>\n<p>\nCette section m'a particuli\u00e8rement plu en tant que d\u00e9veloppeur de services sur ASP .NET CORE. Car elle traite des m\u00e9thodologies de construction d'une architecture de service unifi\u00e9e \u00e0 partir de composants existants. <\/p>\n<p>Robert a d\u00e9crit 4 sch\u00e9mas possibles de s\u00e9paration des couches.<\/p>\n<p>Il a fait comprendre pourquoi le m\u00e9canisme si souvent utilis\u00e9 de l'architecture \u00e0 3 couches : UI (contr\u00f4leurs), Services (Domaine), DAL (Base de donn\u00e9es) \u2014 est assez mauvais par rapport \u00e0 d'autres. J'ai vu assez peu de projets, mais dans chacun, par exemple dans un micro-service, l'architecture \u00e0 trois couches est justement utilis\u00e9e \u00e0 l'arri\u00e8re-plan. <\/p>\n<p>De plus, l'architecture un-composant-un-service est \u00e9galement utilis\u00e9e assez souvent. Dans l'ensemble, les deux sont raisonnables, mais cette approche pr\u00e9sente de nombreux inconv\u00e9nients, notamment par rapport \u00e0 la fa\u00e7on dont l'architecture est construite avec l'utilisation de DDD, en particulier pour les services critiques aux modifications et complexes.<\/p>\n<p>Eh bien, cet aper\u00e7u du livre touche \u00e0 sa fin. J'ai beaucoup aim\u00e9 le livre, je ne regrette pas ma lecture, merci \u00e0 l'auteur. \u00c0 vous, chers lecteurs, merci pour votre attention, ne jugez pas trop s\u00e9v\u00e8rement \u2014 cette publication est bas\u00e9e sur mes impressions de lecture et mon enthousiasme personnel.<br \/>\n<br \/>Source : <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.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\/fr\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47En bref : Clean Architecture, Robert C. Martin | ProHoster","description":"Ceci sera un r\u00e9cit de mes impressions sur le livre, ainsi que l'examen de certains concepts et connaissances qui, gr\u00e2ce \u00e0 ce livre, ont \u00e9t\u00e9 explor\u00e9s. Architecture Pouvez-vous, en lisant cette publication, donner votre avis.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/korotko-o-glavnom-clean-architecture-robert-c-martin","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/37273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=37273"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37273\/revisions"}],"predecessor-version":[{"id":163180,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37273\/revisions\/163180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/27958"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=37273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=37273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=37273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}