Table des matières
Design patterns
Les développeurs orientés objet expérimentés construisent des répertoires de principes généraux et de solutions idiomatiques que les guident lorsqu'ils développent des SI. Ces principes et ces idiomes qui décrivent le problème et sa solution, peuvent être qualifiés de patterns (motifs de conception).
Un pattern est un couple problème/solution nommé, que l'on peut appliquer à de nouveaux contextes. Il est accompagné de conseils sur la façon de l'appliquer et d'une présentation de ses avantages et de ses inconvénients.
GRASP
Un pattern GRASP (General Responsibility Assignment Software Patterns – patterns généraux d'affectation des responsabilités - qui signifie en anglais “saisir, comprendre”) est une description des principes fondamentaux de la conception objet et de l'affectation des responsabilités exprimées sous forme réutilisable. Donc, GRASP est une aide pédagogique pour concevoir des objets avec des responsabilités.
- Expert en Information;
- Créateur;
- Forte Cohésion;
- Faible Couplage;
- Contrôleur.
Gang of Four
Le GoF propose une solution structurelle, comportementale ou créationnelle. Les solutions structurelles sont là pour structurer l'application ou une partie de l'application. Les solutions dites comportementales existent pour donner des indications sur la structure des méthodes, on veut structurer le comportement et l'interaction entre les classes. Du côté créationnel, l'objectif est de structurer la création des objets.
- Structuraux
- Adaptateur (Adapter ou Wrapper)
- Pont (Bridge ou Handle/Body)
- Composite (Composite)
- Décorateur (Decorator ou Wrapper)
- Façade (Facade)
- Poids-Mouche (Flyweight)
- Proxy (Proxy ou Surrogate)
- Comportementaux
- Chaîne de responsabilité (Chain of responsibility)
- Commande (Command, Action ou Transaction)
- Interpréteur (Interpreter)
- Itérateur (Iterator ou Cursor)
- Médiateur (Mediator)
- Memento (Memento)
- Observateur (Observer, Dependents ou Publish-Subscribe)
- Etat (State ou Objects for States)
- Stratégie (Strategy ou Policy)
- Patron de méthode (Template Method)
- Visiteur (Visitor)
- Créationels (Creational patterns)
- Fabrique abstraite (Abstract Factory ou Kit)
- Monteur (Builder)
- Fabrique (Factory Method ou Virtual Constructor)
- Prototype (Prototype)
- Singleton (Singleton)
Ressources
- Design Patterns Card (par Jason McDonald)
Patterns d'architecture d'applications en entreprise
Courtes descriptions de patterns que l'on retrouve dans livre Patterns of Enterprise Application Architecture de Martin Fowler.
Domain Model
Un objet modèle du domaine qui inclus le comportement et les données.
Data Mapper
Une couche de Mappers qui manipule les données entre les objets et une base de données, tout en étant indépendants les uns des autres et du mapper lui-même.
Unit Of Work
Maintient une liste d'objets affectés par les transactions d'affaires et coordonne l'écriture des changements et la résolution des problèmes de coratéralité.
Lazy Load
Un objet qui n'a pas toutes les données, mais qui sait comment les obtenir.
Identity Field
Garde le champ ID de la base de données dans l'objet pour maintenir l'identité entre l'objet en mémoire et l'enregistrement de la base de données.
Foreign Key Mapping
Met en correspondance une association entre les objets et une référence d'une clé étrangère entre les tables.