topic in software development. In my view, it’s so important that Software’s Primary Technical Imperative has to be managing complexity - Steve Mcconnell, Code Complete
of collaborating services each service implementing a set of related functions - E.g OAuth for authorization, S3 for storage, Google Cloud SQL for data - Hexagonal design - Application only interacts with outside services via adapters - Component based architecture - Application made of components - Buy don’t build
an interconnected set of solutions to common problems in a specific domain - Creational patterns: Singleton, Factory - Behavioral patterns: Chain of responsibility, Commander - Structural patterns: Adapter, Decorator
within a function, should have one entry and one exit - Edsger Dijkstra, Structured Programming The principles - Only one return per function - No break - No continue