Pour moi, beaucoup d'entre eux ressemblent à la flexion
le règlement sur le coût d'une bonne conception
(POO). De nombreuses solutions look
unmaintenable et "scripts".
Honnêtement, le "good design" a peu à voir avec la POO. Je dirais une bien plus grande conception de l'odeur d'être concernés par la croyance qu'un bon design est exactement égale à la programmation orientée objet. Que nous ne pouvons pas avoir une bonne conception sans programmation orientée objet, et que nous ne pouvons pas suivre les règles de la programmation orientée objet sans que cela devienne une bonne conception. C'est presque aussi mauvais que les gens de l'obsession de la "sent". Les programmeurs doivent utiliser leur cerveau, pas de leur nez.
Est l'utilisation de la réflexion d'une bonne pratique dans
générale? Sont là des choses qui peuvent
seulement être résolu par la réflexion?
La façon dont je le vois, la réflexion est surtout un symptôme de la langue lacunes. Idéalement, une langue devrait vous permettre de faire ce que vous voulez sans "tordre les règles" par la réflexion. Mais la plupart ne le font pas, et C# certainement ne pas, de sorte que la réflexion est de temps en temps votre seul choix raisonnable.
Il y a beaucoup de "corriger" les usages de la réflexion. Le chargement dynamique de types/bibliothèques d'être évident. Ou l'inspection des attributs. La plupart des tests unitaires cadres dépendent de la réflexion en tant que bien, ce qui est bien, parce qu'ils doivent être un peu intrusive pour être facile à utiliser et d'accéder au code que nous souhaitons tester.
Mais la plupart le code de l'utilisateur qui effectue une sorte de type d'inspection, d'essai à l'exécution si un type implémente une interface particulière ou a une certaine fonction de membre de, est un signe de quelque chose qui, dans un idéal de langue, ne devrait pas être nécessaire.
Si vous voulez à la considérer comme une odeur, appelez ça une langue odeur, pas design un. (Bien sûr, il peut être galvaudé dans la conception aussi bien, mais là où j'ai le plus souvent de le rencontrer, c'est une nécessité en raison du manque d'expressivité de la langue)