2010-12-03 21 views

Répondre

5

La convention stipule que 90% du temps ce sera d'une certaine manière. Lorsque vous déviez de cette convention, vous pouvez apporter des modifications ... ou forcer chaque utilisateur à comprendre chaque paramètre de configuration. L'idée est que si vous en avez besoin différemment, vous le rechercher à ce moment-là, plutôt que d'essayer d'envelopper votre tête autour de tous les paramètres de configuration alors que souvent, cela n'a aucune valeur réelle.

À mon humble avis, cela a toujours du sens. Faire de la convention la priorité sur la configuration explicite est idéal. Encore une fois, si quelqu'un a une préoccupation, ils vont se forcer à enquêter sur le besoin.

3

Je pense que le bénéfice est simple: Aucune configuration nécessaire. Vous n'avez pas besoin de définir des emplacements pour ce type de ressource, par exemple, pour que l'application/l'infrastructure les trouve lui-même. Pour les cas où cela n'a pas de sens: toute situation où il sera assez fréquent que d'autres configurations soient requises, ou où il est logique qu'un développeur/administrateur doive «opter» pour un comportement explicitement (par exemple, pour éviter les effets secondaires imprévus et inattendus qui pourraient avoir des implications sur la sécurité).

1

L'avantage le plus évident est que vous devrez écrire du code moindre. Prenons le cas de l'API Java Persistence. Lorsque vous définissez un POJO ayant des attributs et des setters/getters correspondants, c'est une classe simple. Mais au moment où vous l'annotez avec @ javax.persistence.Entity, il devient un objet d'entité (table) qui peut être conservé dans DB. Maintenant, cela a été réalisé par une simple annotation, aucun autre fichier de configuration. Un autre point positif est, toute votre logique est à un endroit et dans une langue (c'est-à-dire que vous vous débarrassez de xml séparé).