Exercice
Abstract factory utilisant des prototypes.

L'implémentation de l'exemple GOF pour le pattern Abstract Factory (ExempleGOF2.java) utilise des Factory Methods dans les fabriques concrètes.
  1. Transformez cette classe afin d'implémenter les fabriques concrètes avec des prototypes (qui doivent donc remplacer les new() par un mécanisme de clonage).
    Cette transformation doit être complètement transparente pour le client (la fonction main() doit rester exactement identique).
  2. Si votre implémentation présente le même inconvénient que PrototypeDemo1.java (chaque fabrique concrète crée tous les widgets qu'elle est capable de créer, même si le code client n'en a pas besoin), implémentez une solution n'ayant pas cet inconvénient.