Veterans Track
Introduction to Code Architectures
Code architecture from a software architect's lens — covering structure, SOLID principles, patterns, architectural styles, frontend architecture, dependency management, testing and governance.
Domain 01 · Code Structure & Organisation
Structure & Organisation
Folder layout, module boundaries, package-by-feature vs package-by-layer, monorepo vs polyrepo strategy, and naming conventions.
SOLID Principles
Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation and Dependency Inversion.
Code Quality Standards
Linting, static analysis, complexity limits, code coverage targets and technical debt tracking.
API Design Standards
REST, GraphQL, gRPC, versioning strategy, error contracts, pagination and backward compatibility.
Domain 02 · Design Patterns by Language & Layer
Java / Kotlin Patterns
GoF patterns, sealed classes, data classes, coroutines and extension functions.
JavaScript / TypeScript Patterns
Module pattern, observer, singleton, pure functions, discriminated unions and branded types.
UI Design Patterns
Component composition, compound components, render props, hooks, slots and design tokens.
Database Code Patterns
Repository, DAO, unit-of-work, migrations, CQRS, connection pooling and N+1 prevention.
Deployment Code Patterns
Terraform, Pulumi, Helm, GitOps, secret injection and pipeline-as-code.
Concurrency & Async Patterns
Async/await, reactive streams, actor model, backpressure and thread pool sizing.
Domain 03 · Architectural Styles & Patterns
Hexagonal Architecture
Ports-and-adapters pattern separating domain logic from UI, database and messaging concerns.
Clean Architecture
Entities, use cases, interface adapters and frameworks with the dependency rule.
MVC
Model-View-Controller separation for data, presentation and request handling.
MVVM
ViewModel exposes observable state and commands while the view renders reactively.
Pub-Sub
Event producers and consumers decoupled through brokers such as Kafka, RabbitMQ or SNS.
Event Sourcing & CQRS
Immutable event log with separated read and write models.
Domain-Driven Design
Bounded contexts, aggregates, domain events, value objects and ubiquitous language.
Layered & Onion Architecture
N-tier layering and inward dependency rules for enterprise systems.
Domain 04 · Frontend Architecture
Micro Frontend
Independently deployable UI modules with shared design system and routing contracts.
State Management
Global vs local state, server state, client state, unidirectional flow and state machines.
Rendering Strategy
CSR, SSR, SSG, ISR, streaming SSR, islands architecture and edge rendering.
Design System & Tokens
Shared component library, design tokens, Storybook and accessibility governance.
Domain 05 · Dependency Management, Inversion & Metadata
Dependency Injection
Constructor injection, DI containers, injection scopes and circular dependency detection.
Metadata
Annotations and decorators for AOP, validation, serialization and ORM mapping.
Dependency Graph Analysis
Coupling metrics, instability index, ArchUnit and Dependency Cruiser checks.
Quantum Fitment
Smallest independently deployable unit with cohesion, fitness functions and deployment pipeline.
Domain 06 · Cross-Cutting Concerns
Error Handling Strategy
Result/Either types, global exception handlers, structured error codes and retry policies.
Logging & Observability
Structured logs, correlation IDs, distributed tracing and OpenTelemetry boundaries.
Security Patterns in Code
Input validation, output encoding, secure deserialization and secrets management.
Configuration Management
Externalized configuration, environment overrides, feature flags and typed config objects.
Internationalisation
Resource bundles, locale-aware formatting, RTL support and translation workflow.
Caching Strategy in Code
In-process cache, distributed cache, cache-aside, write-through and invalidation.
Domain 07 · Testing Architecture
Links to Testing Architecture
Every architectural pattern has a testability implication and must align with the test pyramid.
Testability Patterns
Mocks, stubs, spies, fakes, test data builders, object mother and test containers.
Architecture Fitness Functions
Automated checks for dependency direction, layer boundaries, naming and coupling thresholds.
TDD & BDD
TDD shapes API and seam design; BDD connects domain language to executable specifications.
Domain 08 · Architecture Governance & Documentation
Architecture Decision Records
Version-controlled records capturing context, decision and consequences.
Anti-Pattern Catalogue
God class, big ball of mud, circular dependencies, anemic model and shotgun surgery.
Refactoring Patterns
Strangler fig, branch-by-abstraction, expand-contract and flag-gated refactoring.
Architecture as Code
C4, Structurizr, PlantUML and Mermaid diagrams living with source code.