Quels sont les avantages de la "Convention sur la configuration" paradigme dans le développement Web? Et y a-t-il des cas où collaborer avec elle n'a pas de sens? P>
merci p>
5 Réponses :
Je pense que la prestation est simple: aucune configuration nécessaire. Vous n'avez pas besoin de définir des emplacements pour ce type de ressource, par exemple, pour l'application / cadre pour les trouver lui-même. P>
Comme pour les cas où il n'a pas de sens: toute situation dans laquelle il sera assez fréquent que des configurations alternatives seraient nécessaires, ou où il est logique qu'un développeur / administrateur aurait besoin de «opt-in» à un comportement explicitement. (Par exemple, pour empêcher les effets secondaires imprévus et inattendus pouvant avoir des implications de sécurité). P>
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 ... par rapport à la forçage de chaque utilisateur pour comprendre chaque paramètre de configuration. L'idée est que si vous en avez besoin pour différer, vous le rechercherez à ce moment-là par rapport à la tentative d'envelopper votre tête autour de tous les paramètres de configuration quand il n'a souvent aucune valeur réelle. p>
IMHO Cela a toujours un sens. Fabrication de la Convention La priorité sur la configuration explicite est idéale. Encore une fois si quelqu'un a une préoccupation, ils se forceront à enquêter sur le besoin. P>
L'avantage le plus évident est que vous devrez écrire du code moindre. Prenons des cas de l'API de la persistance Java. Lorsque vous définissez un pojo ayant des attributs et des ensembles correspondants / getters, c'est une classe simple. Mais le moment où vous l'annotez avec @ javax.persistence. Il devient un objet d'entité (tableau) qui peut être persisté dans dB. Maintenant, cela a été réalisé par une simple annotation, aucun autre fichier de configuration. p>
Un autre point plus est, toute votre logique est à un endroit et dans une langue (c'est-à-dire que vous vous débarrassez de XML séparé). p>
L'avantage de la convention sur la configuration paradigme dans le développement Web La productivité puisque vous ne serez pas obligée de configurer toutes les règles et une décision moins qu'une programmeuse doit faire. Ceci est évident lorsque vous utilisez le document .NET. P>
Dans ASP.NET MVC et API Web. Convention pour traiter les aspects fondamentaux de l'application. Par exemple, la cartographie des tables de base de données avec des classes ou des URL de manutention, etc.
Je pense que ce L'article Wikipedia l'a très bien expliqué: P>
Convention sur la configuration (également appelée codage par convention) est Un paradigme de conception de logiciel utilisé par des cadres logiciels qui tentent diminuer le nombre de décisions qu'un développeur utilisant le Le cadre est tenu de faire sans nécessairement perdre de la flexibilité. Le concept a été introduit par David Heinemeier Hansson pour décrire le philosophie du rubis sur rails webcrock, mais est liée à idées antérieures comme le concept de "défauts sensibles" et de la Principe du moins d'étonnement dans la conception d'interface utilisateur. P>
la phrase signifie essentiellement qu'un développeur doit seulement spécifier aspects non conventionnels de la demande. Par exemple, s'il y a un Ventes de classe dans le modèle, la table correspondante dans la base de données est appelé "vente" par défaut. C'est seulement si on dévie de cela Convention, telle que le tableau "Ventes des produits", que l'on doit écrire code concernant ces noms. p>
lorsque la convention implémentée par l'outil correspond à la valeur souhaitée comportement, il se comporte comme prévu sans avoir à écrire la configuration des dossiers. Seulement lorsque le comportement souhaité s'écarte de la mise en œuvre La convention est une configuration explicite requise. P> blockQuote>