informatique:design_pattern
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
informatique:design_pattern [05/09/2010 17:26] – cyrille | informatique:design_pattern [05/09/2010 17:42] – cyrille | ||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
Commencer par lire: | Commencer par lire: | ||
* [[http:// | * [[http:// | ||
- | * [[http://smeric.developpez.com/ | + | * [[http://rpouiller.developpez.com/tutoriel/java/design-patterns-gang-of-four/ |
+ | | ||
Sources : | Sources : | ||
* [[http:// | * [[http:// | ||
Ligne 16: | Ligne 16: | ||
* (en) http:// | * (en) http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[http:// | ||
+ | * | ||
==== best-practice-software-engineering' | ==== best-practice-software-engineering' | ||
Ligne 206: | Ligne 207: | ||
{{: | {{: | ||
+ | |||
+ | |||
+ | ==== Singleton ==== | ||
+ | |||
+ | * Restreindre le nombre d' | ||
+ | * Fournir une méthode pour accéder à cette instance unique. | ||
+ | |||
+ | Singleton doit restreindre le nombre de ses propres instances à une et une seule. Son constructeur est privé : cela empêche les autres classes de l' | ||
+ | |||
+ | Le singleton est souvent vu comme un anti-pattern... | ||
+ | |||
+ | http:// | ||
+ | |||
+ | The singleton pattern was described in the GoF Design Patterns | ||
+ | |||
+ | We claim that the GoF Singleton pattern is, in fact, quite often an anti-pattern. The downside of the singleton is that there are many transitive dependancies that are not easy to spot. Singletons cannot easily be replaced with Mock Objects for the sake of easy unit testing. | ||
====Strategy ==== | ====Strategy ==== | ||
Ligne 283: | Ligne 300: | ||
* http:// | * http:// | ||
- | ==== Interface | + | ==== Adapter |
Synonymes: Encapsulateur, | Synonymes: Encapsulateur, | ||
- | An interface defines the signature operations of an entity, it also sets the communication boundary between two entities, in this case two pieces of software. It generally refers to an abstraction that an asset provides of itself to the outside. | + | L' |
- | Use an interface when: | + | |
- | | + | * Permettre à des classes de fonctionner ensemble, ce qui n' |
- | * you have to switch the implementation of a module during run-time | + | |
- | * at design-time you don't yet know which implementation you will use at compile-time | + | |
- | + | ||
- | Related Patterns: | + | |
- | * Many other patterns use interfaces, a lot of them depend on the interface | + | |
- | * It is possible | + | |
Pour des raisons de conformité à une norme, pour ne pas dépendre d'une implémentation, | Pour des raisons de conformité à une norme, pour ne pas dépendre d'une implémentation, | ||
Ligne 302: | Ligne 313: | ||
{{: | {{: | ||
- | Such a construction of using an interface is often combined with the [[#Factory|Factory-Pattern]] to retrieve the Implementation of the interface. | + | Adaptateur avec héritage: \\ |
+ | {{: | ||
+ | |||
+ | Adaptateur avec composition: | ||
+ | {{: | ||
+ | |||
+ | Voir: | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
==== Gateway ==== | ==== Gateway ==== | ||
Ligne 325: | Ligne 344: | ||
==== Value Object ==== | ==== Value Object ==== | ||
- | ==== Money ==== | + | |
- | ==== Special Case ==== | + | |
+ | |||
==== Plugin ==== | ==== Plugin ==== | ||
informatique/design_pattern.txt · Dernière modification : 03/03/2023 14:56 de cyrille