Skip to content

Latest commit

 

History

History
47 lines (38 loc) · 6.39 KB

README.md

File metadata and controls

47 lines (38 loc) · 6.39 KB

Проект "architecture_golang"

Проект "architecture_golang" на GitHub, представляет собой реализацию архитектуры "Чистая архитектура" на языке программирования Golang. В этом проекте использованы принципы и структура, представленные в репозитории "golang-standards/project-layout", чтобы обеспечить хорошую организацию кода.

Основной идеей проекта является разделение приложения на четко определенные слои с явно выраженными зависимостями между ними. Это способствует облегчению поддержки и расширения приложения, а также повышает его чистоту и понимание.

  1. Структура каталогов:
  • Проект использует структуру каталогов, определенную в репозитории "golang-standards/project-layout". Это помогает упорядочить код и логически разделить различные компоненты проекта.
  1. Main-пакет:
  • В корневом каталоге проекта будет находиться main-файл, откуда начинается выполнение приложения.
  1. Пакеты слоев:
  • В проекте реализованы различные пакеты, представляющие различные слои архитектуры Clean Architecture. Каждый слой имеет свою ответственность и взаимодействует только с ближайшими соседями.
  1. Entity (Сущности):
  • В этом пакете определены основные сущности приложения, представляющие основные бизнес-объекты и правила.
  1. Use Cases (Использование случаев):
  • Этот пакет содержит реализацию различных use cases (использование случаев), предоставляя основные бизнес-сценарии и операции над сущностями.
  1. Repositories (Репозитории):
  • Здесь определены интерфейсы репозиториев, которые служат для взаимодействия с хранилищами данных. Реализация репозиториев находится в более низких уровнях, чтобы соблюдать принцип инверсии зависимостей.
  1. Delivery (Доставка):
  • Этот пакет представляет собой слой доставки, который обрабатывает внешние запросы и преобразует их в операции use cases. Это могут быть HTTP-обработчики или другие механизмы взаимодействия с пользователем.
  1. Frameworks & Drivers (Фреймворки и драйверы):
  • В этом каталоге находятся различные инструменты и библиотеки, используемые для взаимодействия с фреймворками и внешними системами.
  1. Тесты:
  • В проекте также предусмотрены тесты, которые проверяют корректность работы компонентов приложения.
  1. Документация:
  • Чтобы облегчить понимание проекта и его компонентов, проект содержит документацию, описывающую структуру, функциональность и примеры использования.

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

Для разработки этого проекта использовал следующие ссылки:

Кроме того, использовал видеоресурсы которые помогли составить архитектуру проекта:

Обратите внимание, что приведенные ссылки и видео предоставляют полезные материалы для изучения и понимание чистой архитектуры на Golang.