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

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages