IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Logging Java Discussion :

Design API d'invocation


Sujet :

Logging Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Par défaut Design API d'invocation
    Bonjour,

    J'essaye de définir une API destinée à invoquer des méthodes définies par l'utilisateur. J'ai identifié deux familles de solutions, mais aucune ne me satisfait. Je cherche quelque chose de mieux...si vous avez des idées.

    1ère solution : les classes utilisateurs doivent implémenter une interface présentant un unique point d'entrée "execute". Inconvénient : dans le cas qui m'intéresse la variété des fonctions à invoquer est très grande, donc il y aura à implémenter soit un très grand nombre de classes, soit un immonde switch...case pour brancher sur la bonne méthode à l'intérieur d'une classe.

    2ème solution : les classes utilisateurs peuvent implémenter plusieurs méthodes différentes qui répondent à un ou plusieurs prototypes prédéfinis, l'API se chargerait par introspection de détecter les méthodes compatibles et brancherait automatiquement un appel vers la bonne méthode. Inconvénient : On ne respecte pas l'usage voulant que l'API expose son contrat sous forme d'une interface. Autrement dit l'utilisateur doit connaître la convention d'écriture des méthodes pour savoir utiliser l'API.

    Pour réconcilier les deux solutions j'ai l'impression d'avoir besoin d'une notion d'interface qui n'impose que les prototypes et pas les noms de méthodes...

  2. #2
    Membre éclairé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 37
    Par défaut
    Salut,

    Pourquoi ne pas passer par l'introspection en annotant les méthodes des utilisateurs ?

    Ainsi il a la liberté des signatures de sa méthodes, à toi de t'assurer ensuite, quand tu récupères les informations (suffisantes) par introspection de faire le bon branchement avec le bon passage de paramètres.

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Par défaut
    Citation Envoyé par mikael.gibert Voir le message
    Salut,
    Pourquoi ne pas passer par l'introspection en annotant les méthodes des utilisateurs ?
    Merci. J'y ai pensé mais ça ne change rien au fait que l'API n'exprime pas de contrat, alors qu'il y a effectivement un contrat dans le sens où les types et le nombre de paramètres passés aux méthodes sont imposés.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 185
    Par défaut
    J'ai du mal à saisir le but ou le role de ton API. Qui appelle tu "utilisateur" (developpeur ou non) ? et les méthode à appeler le seraient dans quel dessin ?

    Je comprend que tu cherche à instrumenter l'exécution de ton appli sans la recompiler mais je ne comprend pas pk...

    L'introspection semble en effet une bonne piste mais pour la partie contrat et nombre de parametres il faudrait peut être placer un intermédiaire comme un fichier XML (un genre de XSD ou WSDL)

Discussions similaires

  1. Réponses: 16
    Dernier message: 17/09/2013, 15h51
  2. API 3.7: Resource Path pour le Design Engine?
    Par donino dans le forum BIRT
    Réponses: 1
    Dernier message: 10/09/2011, 11h52
  3. [Qt 4.4.3 Win]Qt Designer's API
    Par cayou66 dans le forum Débuter
    Réponses: 9
    Dernier message: 27/01/2009, 15h09
  4. Jcsp Api : CSP for Java (design sequentiel)
    Par broumbroum dans le forum Contribuez
    Réponses: 4
    Dernier message: 26/03/2007, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo