Bah en deux coups de cuillère à peau avec un peu de réflexivité on fait la même chose moche
Non.
Ce que te permet facilement de faire Java c'est un proxy pour une interface déjà existante. L'exemple classique, et qui est généralement une très mauvaise idéee, c'est un système de RPC qui veux faire croire à une API locale. Tu vas automatiquement générer des proxy sur des interfaces et masquer tout le bordel à l'utilisateur. Pour lui il manipule un POJO.
Ce que permettent de faire les langages dynamiques c'est de faire un proxy pour n'importe quoi dont la signature est totalement inconnue même à l'exécution (getattr en Python, methodMissing en Groovy etc.). Le proxy fait simplement des transformations syntaxiques bêtes et méchantes à partir du nom de méthode et des arguments passés puis effectue une action, il ne connait rien de l'API sous jacente et n'expose rien. L'exemple typique c'est client pour une API web. À partir du moment ou elle est régulière, ça marche. Ça a des avantages et des inconvénients par rapport à fournir une "vraie" API côté client. Mais dans tout les cas c'est pas faisable en Java.
[^] # Re: The Hack language : PHP avec un peu de typage statique ?
Posté par ckyl . En réponse à la dépêche The Hack language : PHP avec un peu de typage statique. Évalué à 3.
Non.
Ce que te permet facilement de faire Java c'est un proxy pour une interface déjà existante. L'exemple classique, et qui est généralement une très mauvaise idéee, c'est un système de RPC qui veux faire croire à une API locale. Tu vas automatiquement générer des proxy sur des interfaces et masquer tout le bordel à l'utilisateur. Pour lui il manipule un POJO.
Ce que permettent de faire les langages dynamiques c'est de faire un proxy pour n'importe quoi dont la signature est totalement inconnue même à l'exécution (getattr en Python, methodMissing en Groovy etc.). Le proxy fait simplement des transformations syntaxiques bêtes et méchantes à partir du nom de méthode et des arguments passés puis effectue une action, il ne connait rien de l'API sous jacente et n'expose rien. L'exemple typique c'est client pour une API web. À partir du moment ou elle est régulière, ça marche. Ça a des avantages et des inconvénients par rapport à fournir une "vraie" API côté client. Mais dans tout les cas c'est pas faisable en Java.