Software Architecture & Engineering
82 notes
Some notes are currently available only in Chinese. English translations are shown when available.
- Software Architecturehistorical
What architecture is, why it is needed, its categories, architecture patterns, and the hard and soft skills needed to become an architect.
- Architecture Patternshistorical
Monolithic, layered, event-driven, CQRS, microservice, and plug-in architecture patterns.
- Monolithic Architecturehistorical
What monolithic architecture is and its advantages and disadvantages.
- Layered Architecturehistorical
What layered architecture is and its evolution from one, two, and three tiers to DDD four-layer, hexagonal, and onion architectures.
- Read/Write Separation Architecturehistorical
What read/write separation is, why it is needed, where it applies, how to design it at the service and storage layers, and the materialized-view pattern.
- Event-Driven Architecturehistorical
What event-driven architecture is, why it is needed, its real-time trade-off, and publisher-subscriber and event-stream design patterns.
- Domain-Driven Designhistorical
What DDD is: domains, ubiquitous language and bounded contexts, entities and value objects, aggregates, domain events, repositories and factories, and a DDD design process.
- Microserviceshistorical
Historical notes on what microservice architecture is, its relationship with SOA, trade-offs, decomposition, project architecture, and the microservice technology stack.
- OpenID Connecthistorical
Historical notes on what OpenID Connect is and how its flow differs from OAuth by adding OpenID identity information and an ID Token.
- JWThistorical
Historical JWT notes covering what JWT is, why it is used, JWT versus sessions, token structure, and the basic request flow.