Digital solutions
Design Patterns avec Laravel

Sommaire

Introduction

Liste des patterns

PatternTypeDifficulté (/10)Présence dans Laravel
SingletonCréationnel2Facades, Service Providers
Factory MethodCréationnel4Factories (Testing, Database)
FactoryCréationnel3Service Providers
Data Transfer ObjectStructurel4Non
Value ObjectCréationnel3Non
Dependency InjectionCréationnel6Service Container
BuilderCréationnel5Query Builder
ORMArchitectural7Eloquent ORM
ObserverComportemental5Eloquent Observers
CommandComportemental5Artisan Commands
Chain Of ResponsibilityComportemental6Middlewares
Template MethodComportemental4Blade Templates
IteratorComportemental4Collections
PipelineComportemental7Pipeline
FacadeStructurel4Facades
RegistryStructurel4Non
ProxyStructurel6Facades
AdapterStructurel5Adapters for Mail, Cache, etc.
Mixin (Macroable)Structurel5Macroable Trait
RepositoryStructurel6Non
ServiceArchitectural5Service Container
Command BusArchitectural7Bus (Queue, Events, Commands)
DecoratorStructurel6Non
Null ObjectComportemental3Non
StrategyComportemental5Non
MediatorComportemental7Non
MementoComportemental6Non
VisitorComportemental8Non
SpecificationComportemental7Non
StateComportemental6Non
InterpreterComportemental8Non
CompositeStructurel6Non
BridgeStructurel7Non
FlyweightStructurel8Non
Hexagonal ArchitectureArchitectural9Non
SagaArchitectural8Non

Comparatifs

Patterns à ComparerDétail
State, MementoGestion des états d'un objet et historique
Chain of Responsibility, PipelineEnchaînement de traitements dynamiques
Proxy, MixinAjout dynamique de comportements
Strategy, Facade, DecoratorChangement et extension de comportements
Bridge, StrategySéparation et délégation des responsabilités
Repository, Data Transfer Object, Value Object, FactoryGestion des données simples et immuables
Proxy, Decorator, Visitor, HexagonalExtension dynamique, accès contrôlé, et architecture complexe
Adapter, Data Transfer ObjectTransformation et transport de données
Composite, TemplateStructure d'objets imbriqués et réutilisation des comportements
Factory Method, Facade, RegistryCréation d'objets et simplification des interfaces
Specification, InterpreterVérification de règles et interprétation de logique complexe
Saga, MediatorGestion de transactions complexes et centralisation de la communication
Template, Factory Method, StrategyStructures fixes avec des étapes personnalisables
Iterator, CompositeGestion et parcours d'objets imbriqués ou collections
Builder, Data Transfer ObjectConstruction progressive d'objets complexes

Conclusion