Software Design Patterns and Principles
Section Descriptions
1. Design Principles
| File | Topics |
|---|---|
| OOP Fundamentals | Encapsulation, Inheritance, Polymorphism, Abstraction — core OOP concepts |
| SOLID Principles | SRP, OCP, LSP, ISP, DIP — with Python examples and violation/fix patterns |
| Fundamental Principles | DRY, KISS, YAGNI, Composition over Inheritance, SoC, High Cohesion/Low Coupling |
| Clean Code | Naming, functions, readability, formatting, comments — practical clean code rules |
| Code Quality Tools | Linters, formatters, type checkers, static analysis — tool-based quality enforcement |
2. Creational Patterns
| File | Topics |
|---|---|
| Creational Patterns | Singleton, Factory Method, Abstract Factory, Builder, Prototype — Python examples, use cases, risks |
3. Structural Patterns
| File | Topics |
|---|---|
| Adapter, Decorator & Facade | Adapter, Decorator, Facade — with Python examples |
| Proxy, Composite, Bridge & Flyweight | Proxy, Composite, Bridge, Flyweight — with risks table |
4. Behavioral Patterns
| File | Topics |
|---|---|
| Strategy, Observer & Command | Strategy, Observer, Command — real-world uses, risks |
| Chain, State & Mediator | Chain of Responsibility, State, Mediator — middleware pipeline, order lifecycle |
| Iterator, Template & Visitor | Iterator, Template Method, Visitor — risks table |
5. Composition and Architectural Patterns
| File | Topics |
|---|---|
| Advanced Composition | Layout Composer, Aggregator/Composer, Pipeline/Middleware, BFF |
| Architectural Patterns | Layered, Clean Architecture, Hexagonal (Ports & Adapters) — Python examples, comparison table |
| Event-Driven & Isomorphic | Microservices, Event-Driven (Outbox, idempotency), Isomorphic/Universal Architecture |
| Queues vs Streams & Messaging | Queues vs Streams, delivery semantics (at-least/exactly-once), ordering, retries, DLQ patterns, Kafka/RabbitMQ/SQS comparison |
6. Frontend and Cross-Layer Patterns
| File | Topics |
|---|---|
| Frontend Patterns | Component-Based, Atomic Design, Container/Presentational, Hooks, State Management, BFF Integration |
| Cross-Layer Patterns | Shared DTOs, Shared Validation, Type Sharing (OpenAPI/Protobuf), versioning risks |
7. Decisions, Testing, Anti-Patterns
| File | Topics |
|---|---|
| Comparison & Testing | Pattern comparison matrix (Strategy vs State, Factory vs Builder, etc.), Unit/Integration/Contract/Property/Mutation testing |
| Anti-Patterns & Real-World | God Object, Spaghetti, Cyclic deps, Overengineering, Anemic model, real-world usage table, heuristics, decision factors |
| Production Readiness Checklist | Logging, metrics, tracing, alerting, resiliency, health checks, security, SLO/SLI — gate checklist before deploy |