3 votes

Un cadre pour l'injection de dépendances (dans les applications MVC) et pour les tâches AOP simples (en utilisant des attributs).

J'en suis arrivé au point où je veux accomplir deux tâches dans mon application ASP.NET. Ces deux tâches peuvent être réalisées à l'aide d'un cadre AOP, mais elles sont toutes deux de nature différente :

  1. Injection de dépendances pour mes contrôleurs et services
  2. J'ai créé un attribut personnalisé NotNullAttribute et marquer les paramètres ou les propriétés de certaines méthodes avec elle au lieu de lancer ArgumentNullException si ces paramètres ou propriétés étaient nuls. Je veux que le cadre AOP vérifie ces attributs au moment de la compilation et ajoute des causes de rejet à la place. Voici un exemple :

    //original code that I write
    public void MyMethod([NotNull]string param1){
        //do something
    }

    .

    //code actually being compiled - after AOF processing/weaning  
    public void MyMethod(string patam1){
        if(param1 == null){
            throw new ArgumentNullException("param1");
        }
        //do something
    }

Je veux donc un cadre de travail (qui ne doit pas nécessairement être AOP, mais je suppose qu'il devrait l'être) qui me permette de faire ces deux tâches simplement.

J'ai quelques exigences supplémentaires :

  • faible encombrement, 1 ou 2 assemblages
  • intégration à VS - Je veux juste appuyer sur Ctrl+F5 à compiler et le cadre de travail fait le travail, injecte les dépendances, ajoute du code de levée d'exception. sans Je ne suis même pas au courant. Je ne veux pas exécuter la précompilation depuis la ligne de commande ou quoi que ce soit d'autre.
  • Pour la génération de code de lancement d'exception, j'aimerais écrire des classes. Comme les aspects réguliers. Pas de XML, pas de configuration (les conventions sont acceptables). Pour l'injection de dépendances, je préfère également les classes, mais le XML ou un autre fichier de configuration est acceptable, mais il doit être suffisamment simple pour être utilisé par quelqu'un qui ne connaît pas vraiment le XML et ne l'aime pas.

Existe-t-il un tel cadre ? S'il en existe d'autres, quels sont leurs avantages et inconvénients ?


EDIT : Ah oui, j'ai oublié un point très important : le cadre doit être gratuit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X