42a: Top Level Partitioning

The software architect decides the boundaries of components. The components are a high-level group of codes and modules, while the modules are codes that are related to each other. We can think of them as libraries and small, lightweight frameworks. Components are one level above and formed by modules. Depending on the application and system, module partitioning is possible in two ways: domain and technical. Domain partitioning is embraced by Domain-Driven Design and focuses on architecting the system using business domains. On the other hand, technical partitioning splits the system using technical capabilities such as persistence, service, and presentation.


If you're unfamiliar with Zettelkasten: These notes are atomic. The aim is to have one idea in a note. The connections between notes are as important as the notes themselves.

Reply via email

or comment below.