2010-02-05 5 views
3

Je travaille sur une application où les métadonnées de l'interface sont stockées dans une base de données.Avantages des métadonnées d'interface dans une base de données

Fondamentalement, l'application C# .NET lit les positions, la taille et le texte des boutons, des étiquettes, des boutons radio, etc. à partir des tables SQL Server. Pour autant que je sache, qui a déjà écrit l'application a saisi toutes ces informations à la main car je ne trouve pas l'outil (ou les astuces d'un outil) utilisé pour le faire. Quoi qu'il en soit, je trouve plutôt fastidieux de conserver cette information sans aucun outil, et je me demande quels sont les avantages d'un tel arrangement, par opposition à l'utilisation du concepteur d'interface de Visual Studio?

+1

La sécurité de l'emploi, peut-être? – Aaronaught

Répondre

0

Je suppose que ce serait un avantage si vous vouliez être capable de modifier ces choses sans recompiler. Cela peut également vous permettre d'éviter de forker la source et de devoir ensuite conserver les deux variantes. Peut-être que le développeur pensait à l'internationalisation, qui affecte certainement les étiquettes et peut aussi (par conséquent) affecter la taille et la position aussi. En principe, il suffit d'échanger le nouveau contenu de la table, vous êtes prêt pour une autre langue.

Je peux voir garder les métadonnées de l'interface utilisateur pour chaque champ par opposition à chaque contrôle afin d'assurer que le champ est présenté de façon constante tout au long d'une interface (même étiquette, le format, le contrôle même, par exemple, le bouton radio par rapport à la liste déroulante) . Si vous devez changer l'étiquette d'un champ utilisé dans 8 fenêtres différentes, vous n'avez qu'à le réparer en un seul endroit.

1

Peut-être que c'est juste une façon différente d'implémenter un fichier INI?

Rien ne vous empêche vraiment de le faire de cette façon, bien qu'il y ait eu une raison pour laquelle cela a été fait de cette façon. Il y avait peut-être une raison pour laquelle les fichiers ne pouvaient pas être écrits sur le disque dur local ou sur les clés stockées dans le registre.

Questions connexes