Skip to content

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

See also