Skip to content

comerc/go-clean-architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-clean-architecture

How to run

$ go run ./cmd/app/.

Go Clean Template

Dir Naming

  • controller - Interface Adapters for Controllers
  • repository - Interface Adapters for Data Sources
  • service - Application Busines Rules (Use Cases)
  • entity - Enterprice Business Rules (DAO?)

DTO vs DAO

DTO (Data Transfer Object) и DAO (Data Access Object) - это два различных концепта в разработке программного обеспечения:

DTO (Data Transfer Object): DTO - это объект, который используется для передачи данных между различными слоями или компонентами системы. Он служит для упрощения обмена данными и уменьшения количества запросов между клиентом и сервером. DTO содержит только данные, но не содержит логику или методы для их обработки. Часто DTO используются для сериализации и десериализации данных при передаче их по сети или между различными компонентами системы.

DAO (Data Access Object): DAO - это объект, который предоставляет абстрактный интерфейс для доступа к данным в источнике данных (например, базе данных). DAO скрывает детали реализации доступа к данным, позволяя клиентскому коду работать с данными через абстрактный интерфейс. DAO может включать методы для создания, чтения, обновления и удаления данных (CRUD операции). Он также может обеспечивать управление транзакциями и оптимизацию доступа к данным.

Итак, основная разница между DTO и DAO заключается в их целях и функциональности:

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

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

Как избежать применения ORM для Go, используя чистый SQL

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages