Design Patterns Master 4
Design Patterns Master 4
Die Pattern werden im Code mit // PATTERN: markiert und hier begruendet.
BOM
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: platform-bom.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Parent POM
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: platform-bom.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Shared Kernel
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: shared-kernel.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Value Object
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: shared-kernel.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Port
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: enterprise-contracts.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
DTO
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: enterprise-contracts.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Aggregate
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: order-domain, billing-domain, inventory-domain.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Factory
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: order-domain, billing-domain, infra-config.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Domain Event
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: inventory-domain, integration-events.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
DDD Entity
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: customer-domain.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Strategy
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: pricing-domain, infra-config.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Policy
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: pricing-domain, infra-security.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Adapter Boundary
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: shipping-domain.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Schema Contract
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: integration-events.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Transactional Outbox
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: outbox-core.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Repository
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: outbox-core, adapter-aws-rds, adapter-vm-postgres.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Saga
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: saga-core.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Command
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: saga-core, api-admin, worker-scheduler.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
CQRS
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: cqrs-readmodel.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Projection
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: cqrs-readmodel.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Facade
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: api-rest, api-admin, infra-security.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
DTO Mapper
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: api-rest.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Retry
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: worker-scheduler.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Adapter
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: adapter-aws-sqs, adapter-aws-s3, adapter-aws-rds, adapter-onprem-oracle, adapter-onprem-mq.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Ports and Adapters
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: adapter-aws-sqs, adapter-aws-s3, adapter-onprem-mq.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Anti-Corruption Layer
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: adapter-onprem-oracle, adapter-dedicated-soap, migration-strangler.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Gateway
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: adapter-baremetal-files, adapter-dedicated-sftp.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Observer
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: infra-observability.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Decorator
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: infra-observability.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Template Method
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: deployment-aws, deployment-vm, deployment-baremetal, deployment-onprem, deployment-dedicated.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Configuration Object
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: deployment-aws, deployment-vm, deployment-baremetal, deployment-onprem, deployment-dedicated.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Consumer-Driven Contract
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: testing-contract.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Layered Architecture Guard
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: testing-architecture.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Circuit Breaker
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: testing-chaos.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Bulkhead
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: testing-chaos.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Strangler Fig
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: migration-strangler.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Reconciliation
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: migration-data-sync.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Idempotency
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: migration-data-sync.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Operational Pattern
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: ops-runbook.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Checklist
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: ops-runbook.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Application Service
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: enterprise-application.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.
Orchestrator
- Zweck: Fachliche und technische Grenzen explizit machen.
- Einsatzort: enterprise-application.
- Begruendung: Das Muster reduziert Kopplung, erleichtert Tests und macht Infrastruktur austauschbar.