Good Architecture

The hallmarks of a good architecture include:

  1. Modularity: The system is divided into smaller, manageable modules or components, each with a specific responsibility.
  2. 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.
  3. Loose Coupling: Weak knowledge associations between components, designed to be independent, minimizing dependencies and allowing for easier changes and replacements.
  4. Law of Demeter: Components should only communicate with their immediate neighbors, reducing the risk of cascading changes and making the system more robust.