Good Architecture
The hallmarks of a good architecture include:
- Modularity: The system is divided into smaller, manageable modules or components, each with a specific responsibility.
- Separation of Concerns: Different concerns or aspects of the application are separated, making it easier to manage and evolve the system: breaking your architecture into distinct tiers.
- Loose Coupling: Weak knowledge associations between components, designed to be independent, minimizing dependencies and allowing for easier changes and replacements.
- Law of Demeter: Components should only communicate with their immediate neighbors, reducing the risk of cascading changes and making the system more robust.