System Architecture

System Design

To reduce coupling and increase cohesion, and to be flexible wherever possible to inject
Any system depends on many things below it. Know what they are.
Ability to change decisions outweigh the importance of the decisions
Software Designs
System Architecture Notion

Software should be designed to last