2009-05-15 13 views

Répondre

3

ASP.NET MVC déduisant l'action et contrôleur pour appeler depuis l'URL. Routage en général.

2

Plus récemment, je devais utiliser la réflexion pour charger un ensemble (afin d'enquêter sur ses types publics) de tout le trajet de l'ensemble.

0
  • NUnit Unit Testing Framework - Pas très typique si
  • CSLA utilise la réflexion beaucoup
  • Quasiment toute application Windows Forms qui prend en charge les plugins
2

Avant sql Linq est sorti ... je devais écrire mon propre ORM dans .NET 2.0.

J'ai utilisé une réflexion fortement à réfléchir sur:

  • Classes à leurs CRUD procédures stockées
  • Propriétés à leurs noms de colonnes
  • Quelles opérations sont valables pour la classe

I a également utilisé la réflexion pour gérer toutes les affectations de variables après que les résultats aient été récupérés (toutes les classes héritaient d'une classe ActiveRecord qui traitait les appels dans le DAL).

choses rugueux ... mais après un certain réglage des performances, il était pas mal.

0

Mon DAL est basé sur la réflexion. Il réfléchit sur les propriétés POCO pour générer SQL.

1

Tirer des données sur une table SQL où vous aviez une carte d'identité, un type et d'autres données

Ensuite, vous pouvez charger « Chevrolet » et de travailler avec l'ensemble de ses méthodes

0

Dans une usine, nous utiliser la réflexion pour passer une implémentation "Dummy" d'une interface ou une implémentation réelle (hooked to the DB) d'une interface, basée sur la classe spécifiée dans un fichier de propriétés (en Java).

1

J'ai eu l'occasion d'écrire un mappeur O/R Python sur un à un moment donné, mais il était une preuve de concept et ne sont jamais allés en production.

Je fais beaucoup de travail qui fait un usage intensif du dictionnaire de données du système sur un SGBD (par exemple un chargeur générique dimension lentement évolution). On pourrait faire valoir que cela n'est pas différent de la programmation réflexive en principe.

Enfin, Python sous toutes ses formes est très facile à faire réfléchir. En fait, il est tellement bon à cela que je l'ai utilisé pour explorer les API sous-jacentes dans d'autres langages - et utiliser les capacités de réflexion pour interroger les interfaces sous-jacentes. Je l'ai fait avec presque tous les mécanismes de réflexion qui existent dans le monde Python: CPython sur API Python et API COM en utilisant makepy, Jython pour les API java et IronPython pour les API .Net.

1

Dans l'une de mes récentes applications, un complément pour Kofax Express, j'ai une option pour OCR un fichier et la sortie d'un PDF. Comme l'outil OCR que j'utilise a un coût d'exécution, j'ai fait de la partie OCR un assemblage séparé. Si le fichier existe, j'affiche les options OCR et lie tard l'assembly et invoque les méthodes requises et attache aux événements avec réflexion. Un simple branchement d'architecture sans interfaces, et évite aux clients d'avoir à payer des redevances s'ils n'ont pas besoin d'OCR; nous ne leur donnons pas la DLL OCR.

Questions connexes