...
/Architecturally Expressive Package Structure
Architecturally Expressive Package Structure
Learn what an architecturally expressive package structure looks like and how it can help you develop Clean Architecture.
We'll cover the following...
Project structure
In a Hexagonal Architecture, we have entities, use cases, incoming and outgoing ports, and incoming and outgoing (or “driving” and “driven”) adapters as our main architectural elements. Let’s fit them into a package structure that expresses this architecture:
buckpal
└── account
├── adapter
| ├── in
| | └── web
| | └── AccountController
| ├── out
| | └── persistence
| | ├── AccountPersistenceAdapter
| | └── SpringDataAccountRepository
├── domain
| ├── Account
| └── Activity
└── application
├── service
| └── SendMoneyService
└── port
├── in
| └── SendMoneyUseCase
└── out
├── LoadAccountPort
└── UpdateAccountStatePort
Explanation
Each element of the architecture can directly be mapped to one of the ...