我们的电商平台将遵循这个目录结构
rmshop-clean-architecture/ │ ├── cmd/ │ ├── api/ │ │ └── main.go # Main application entry point │ └── seedadmin/ │ └── main.go # Admin seeding command │ ├── internal/ │ ├── config/ │ │ └── config.go # Application configuration │ │ │ ├── delivery/ │ │ └── http/ │ │ ├── handlers/ │ │ │ ├── user_handler.go │ │ │ ├── admin_handler.go │ │ │ ├── product_handler.go │ │ │ └── ... │ │ ├── middleware/ │ │ │ ├── auth.go │ │ │ └── ... │ │ └── routes.go │ │ │ ├── domain/ │ │ ├── user.go │ │ ├── product.go │ │ └── ... │ │ │ ├── repository/ │ │ ├── interfaces.go │ │ └── postgres/ │ │ ├── user_repository.go │ │ ├── product_repository.go │ │ └── ... │ │ │ ├── usecase/ │ │ ├── user_usecase.go │ │ ├── product_usecase.go │ │ └── ... │ │ │ └── server/ │ └── server.go │ ├── pkg/ │ ├── auth/ │ │ └── jwt.go │ ├── database/ │ │ ├── migrations.go │ │ └── postgres.go │ └── ... │ ├── migrations/ │ ├── 001_create_users_table.up.sql │ ├── 001_create_users_table.down.sql │ └── ... │ ├── go.mod ├── go.sum └── README.md
该结构遵循简洁的架构原则
内部/:存放核心应用程序代码,其他项目无法访问。
config/:应用程序配置。
delivery/:处理如何向用户呈现数据以及如何从用户接收数据。
domain/:定义核心业务逻辑和实体。
repository/:处理数据存储和检索。
usecase/:包含特定于应用程序的业务规则。
server/:管理 HTTP 服务器设置。
pkg/:可供外部应用程序使用的共享包。
migrations/:数据库迁移文件。
以上是使用 Golang 的电子商务平台:项目目录结构的详细内容。更多信息请关注PHP中文网其他相关文章!