Java : quizz #3

Bonjour,

Il y a quelques jours, Jo (le nom a été changé pour préserver son anonymat :)), un développeur qui a été contraint par son manager d’écrire du code (qui doit utiliser les generics) permettant d’abstraire le code de la nouvelle application et celui du l’ancienne (basée sur une vieille techno maison). On lui a imposé le pattern suivant :

1. soit l’interface commune :

public interface Service<T>
{
  T process (Command command);
}

2. la nouvelle implémentation (de l’application new generation) :

public class NewGenerationService<Result> implements Service<Result>
{
   public Result process (Command...command){....}
}

3. cependant le code basé sur le legacy system ne retourne pas de résultat. De ce fait Jo ne sait pas comment écrire son service

public class LegacySystemService implements Service<??>
{
  public ?? process (Command...command){...}
}

Et bien, que pouvez-vous dire à Jo ici ?

A. Pauvre Jo, fais grève car c’est impossible à faire ce que  ton manager voulait faire !

B. Eh Jo, cherche dans la javadoc et tu trouveras la réponse ! (Dans ce cas, que peut-on mettre à la place des <??> ?)

C. Je te comprends Jo, car c’est trop compliqué pour moi aussi :(

Réponse : Jo pourra d’abord utiliser la classe « java.lang.Void » pour son implémentation legacy, puis étudier le commentaire de Cyril :)

public class LegacySystemService implements Service<Void>
{
   public Void process (Command...command){.... return null;}
}

Formation publique GigaSpaces XAP en Juin : et pourquoi pas vous ?

Vous êtes développeur, architecte, chef de projet, journaliste spécialisé, blogger, passionné par les architectures distribuées et/ou les concepts Cloud, ou simple curieux ?

Vous êtes dans un des cas suivants :

  • Vous avez toujours rêvé de comprendre comment on peut construire des applications à hautes performance aptes à monter en charge aisément; c’est à dire qui ne nécessitent pas de réinventer la roue à chaque fois que votre application doit évoluer, en nombre d’utilisateurs, en volumes de données, en nombre de requêtes…
  • Vous percevez que la technologie GigaSpaces XAP peut vous aider dans votre projet, mais vous avez besoin d’en savoir plus, parce que quand même ça parait trop beau…
  • On vous a demandé de monter en compétences sur GigaSpaces XAP, mais les quelques centaines de pages de la doc vous effraient, et vous ne savez pas par quel bout attaquer la bête.
  • Vous voulez comprendre pourquoi ces allumés chez FastConnect pensent que c’est une alternative à moindre coût avec un meilleur rapport prix/performance, aux plates-formes JEE (accompagnée de leur lot de composants additionnels et de coût d’intégration)
  • Vous vous demandez qui sont les personnes qui se cachent derrière ce blog et vous viendriez bien voir ça de vos propres yeux…
    • Et vous n’avez pas peur de faire évoluer votre perception des architectures distribuées !

      N’hésitez plus un seul instant, et venez suivre la formation publique, officielle, sur la plate-forme GigaSpaces XAP. Cette formation est réalisée dans le cadre du programme GigaSpaces University et est animée par des experts FastConnect confirmés et certifiés par GigaSpaces !

      Pour vous inscrire, rien de plus simple, c’est là : http://www.amiando.com/GigaSpacesPublicTrainingEUJune2011.html

      Cette formation sera animée par Luc, notre gourou sur les architectures distribuées qui compte à son actif quelques dizaines de missions d’expertise dans ce domaine depuis plusieurs années autour des problématiques de montée en charge, de performance, de répartition de charge, de résilience, et j’en passe.

      Enfin, FastConnect étant organisme de formation officiel, cette session de formation peut rentrer dans le cadre du programme de formation de votre entreprise. Contactez nous à training ( a t ) fastconnect.fr pour plus d’informations à ce sujet.

      N’attendez pas pour vous inscrire. Le nombre de places est limité.

      Au plaisir de vous voir !