7 votes

Bibliothèque de classes pour les modèles de conception en Java ?

Je me retrouve à réécrire sans cesse les mêmes schémas de programmation dans de nombreux nouveaux projets. J'ai pensé à créer ma propre bibliothèque réutilisable d'implémentations typiques de ces patrons - sans essayer de couvrir tous les patrons de conception possibles, mais seulement ceux dont l'expérience a montré qu'il est logique de les mettre en œuvre. typique Mais avant cela, j'aimerais savoir s'il n'existe pas déjà une bibliothèque à cet effet disponible pour Java ?

Je sais qu'il est très difficile de généraliser complètement les patrons de programmation de manière à ce qu'ils puissent être réutilisés dans différentes implémentations avec des exigences complexes (par exemple, composition de patrons, classes participant à plus d'un patron, etc ...). Cependant, la plupart du temps, les instanciations de patterns dont j'ai besoin sont assez simples et standard, et dans de nombreuses situations, le travail d'implémentation pourrait être un peu accéléré par l'utilisation d'une telle bibliothèque.

Merci pour vos commentaires !

0voto

Pangea Points 36713

0voto

duffymo Points 188155

Un grand nombre de ces modèles sont intégrés à Java SE - vous ne le remarquerez peut-être pas.

Le décorateur est partout dans le java.io paquet.

Le site java.sql est AbstractFactory.

Toutes les classes enveloppantes sont des Flyweights.

Je suis d'accord avec ceux qui disent qu'il ne faut pas chercher une bibliothèque de modèles. Ils doivent être découverts au fur et à mesure que vous écrivez votre code.

0voto

AndreasScheinert Points 1387

C'est possible dans un langage qui offre des fonctions d'ordre supérieur et d'autres fonctions. Voici quelques diapositives qui font référence à un document qui traite de la bibliothèque 'origami pattern'. Il montre le 'code de la bibliothèque' pour les motifs suivants : Composite, Iterator, Visitor, Builder. Donc si vous voulez essayer cela sur le jvm, vous pouvez dès aujourd'hui utiliser scala. http://www.slideshare.net/remeniuk/algebraic-data-types-and-origami-patterns

-1voto

Deleted Points 2693

Vois-tu une forêt ou des arbres ?

Les modèles de conception doivent devenir apparents plutôt que d'être sélectionnés d'emblée. Au moment où ils deviennent apparents, vous n'avez pas besoin du modèle parce que le code existe. Vous vous émerveillez alors de la façon dont la solution s'est résolue d'elle-même, votre cerveau ayant inconsciemment choisi la bonne approche. Cela vous donne ce sentiment chaleureux et flou de "je fais confiance à ce code".

Si vous créez une bibliothèque de patrons de conception, vous vous êtes construit un gros marteau (ou une usine de marteaux, ou une usine de marteaux [1]) et tout devient un clou pratique (y compris les vis), ce qui donne lieu à beaucoup de pouces douloureux et de bols de spaghetti dans votre équipe de développement.

[1] http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X