Пытаясь понять архитектуру Clean

Feb 22, 2018 16:02


Я сейчас начинаю проект на языке Go и очень хочу использовать эту архитектуру, но мне перед ее использованием сначала нужно самому уяснить, как это работает. Есть готовые примеры кода на Go, но в каждом из них автор выразил свое понимание, а мне нужно выработать свое.

Давно знал про эту архитектуру, но проект достаточного для ее применения масштаба появился только теперь.

Для заметки: не все что UML это архитектура, есть и другой подход C4 описания архитектуры(слайды) с точики зрения контекстов, компонентов, модулей. Также полезно посмотреть наброски архитектуры (слайды).

Конечно я бросился искать готовые примеры, но они мены не устроили полностью. Так я решил разобраться в этой архитектуре лучше и собрал для себя материалы по этой теме, образцы кода, чтобы вывести свое понимание.



Материалы которые должны помочь уяснить суть:

The Clean Architecture оригинальная статья от Uncle Bob смотрел 2018-20-22

Заблуждения Clean Architecture, Habrahabr.ru смотрел 2018-20-22

The Clean Architecture: In Practice, Dec 27, 2014 -  смотрел 2018-28-22

Uncle Bob's clean architecture - An entity/model class for each layer? StackExchange смотрел 2018-20-22

Guide to make gRPC service using clean architecture in golang 2018-02-22

Примеры кода на GO

Есть несколько репозитариев с демонстрацией кода которые следует Clean:

  1. https://github.com/manuelkiessling/go-cleanarchitecture обновление 2012г.
  2. https://github.com/alice02/go-cleanarch обновление 2017г.
  3. https://github.com/hirotakan/go-cleanarchitecture-sample (or mirror) обновление 2016г.
  4. https://github.com/CaptainCodeman/clean-go обновление 2017г. (мой форк https://github.com/r3code/clean-go/)
  5. https://github.com/bxcodec/go-clean-arch (вариация сервер с GRPC, клиент) обновление 2017г.

Примеры на других языках:

  1. Пример интерактора в JS, применяя принципы Clean, обновлено 2016г.
  2. JS and Clean Architecture (презентация, последовательный переход от обычной организации к Clean) обновлено 2016г.
  3. Подробный гайд по разработке Android-приложений с помощью Clean Architecture обновлено 2017г.

Инструменты

Даже есть инструмент проверки на соответствие Clean, но опять же с точки зрения автора инструмента. Есть пример правильного и неправильного кода (по соответствию Clean).

Previous post Next post
Up