Unsere E-Commerce-Plattform folgt dieser Verzeichnisstruktur
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
Diese Struktur entspricht den Grundsätzen sauberer Architektur
intern/: Enthält den Kernanwendungscode, auf den andere Projekte nicht zugreifen können.
config/: Anwendungskonfiguration.
delivery/: Behandelt, wie die Daten dem Benutzer präsentiert und vom Benutzer empfangen werden.
Domäne/: Definiert die Kerngeschäftslogik und -entitäten.
repository/: Verwaltet das Speichern und Abrufen von Daten.
usecase/: Enthält anwendungsspezifische Geschäftsregeln.
server/: Verwaltet die Einrichtung des HTTP-Servers.
pkg/: Freigegebene Pakete, die von externen Anwendungen verwendet werden können.
Migrationen/: Datenbankmigrationsdateien.
Das obige ist der detaillierte Inhalt vonE-Commerce-Plattform mit Golang: Projektverzeichnisstruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!