Go Clean Architecture
В go чатах я хейчу абсолютно все репозитории в названии которых есть что-то связанное с "Clean architecture", т.к. в них вижу ошибки. И меня просят скинуть такой репозиторий, где сделано нормально. И т.к. я такой репозиторий ни разу не находил, то когда-то давно решил делать свой.
Пока в планах сделать 2 репозитория:
1. Базовый. В нем будет минимум либ и минимум чего-то умного, а будет только верная работа с зависимостями и слоями
2. Навороченный. В котором будет все то же, что и в базовом, но и всякие свистелки, вроде грейсфул шатдауна и т.д.
Сейчас я делаю второй (навороченный), а потом его урежу до базового. Решил делать в этой последовательности т.к. базовый должен уметь трансформироваться в навороченный, путем добавления в него всего остального. Но если я сперва сделаю базовый, то могу что-то не учесть и он будет изначально сбивающим с толку.
Сейчас навороченный готов где-то на 60%. На мой взгляд в нем еще много что надо доделать, но в нем уже нет тех банальных ошибок, что есть в любых репозиториях, что я видел.
Главное, что сейчас хорошо - это структура проекта (ну кроме отсутствия слоя инфры, но это не сильно страшно пока, потом доделаю). Все зависимости в нужных направлениях идут. Все адаптеры с максимальным cohesion, нет coupling между чем-либо. Красота короче.
В планах еще будет написать что-то вроде FAQ. Где будут ответы на вопросы вроде: "А ГДЕ ПКГ" и т.д.
Вот Github (всё еще альфа версия!)
В go чатах я хейчу абсолютно все репозитории в названии которых есть что-то связанное с "Clean architecture", т.к. в них вижу ошибки. И меня просят скинуть такой репозиторий, где сделано нормально. И т.к. я такой репозиторий ни разу не находил, то когда-то давно решил делать свой.
Пока в планах сделать 2 репозитория:
1. Базовый. В нем будет минимум либ и минимум чего-то умного, а будет только верная работа с зависимостями и слоями
2. Навороченный. В котором будет все то же, что и в базовом, но и всякие свистелки, вроде грейсфул шатдауна и т.д.
Сейчас я делаю второй (навороченный), а потом его урежу до базового. Решил делать в этой последовательности т.к. базовый должен уметь трансформироваться в навороченный, путем добавления в него всего остального. Но если я сперва сделаю базовый, то могу что-то не учесть и он будет изначально сбивающим с толку.
Сейчас навороченный готов где-то на 60%. На мой взгляд в нем еще много что надо доделать, но в нем уже нет тех банальных ошибок, что есть в любых репозиториях, что я видел.
Главное, что сейчас хорошо - это структура проекта (ну кроме отсутствия слоя инфры, но это не сильно страшно пока, потом доделаю). Все зависимости в нужных направлениях идут. Все адаптеры с максимальным cohesion, нет coupling между чем-либо. Красота короче.
В планах еще будет написать что-то вроде FAQ. Где будут ответы на вопросы вроде: "А ГДЕ ПКГ" и т.д.
Вот Github (всё еще альфа версия!)