Gestion d'une hiérarchie d'objet avec le composite

Stratégie temps réel : création d'armée de soldats

Exercice 1:

Reprenez la correction des deux TPS précédents et réalisez le diagramme UML de celle-ci.

Exercice 2:

En utilisant le pattern composite nous voulons étendre notre architecture STR pour permettre la création de groupes armées et de groupes de groupes armées. Modifiez le digramme UML précédent pour ajouter votre extension dans l'architecutre.

Le code suivant devra fonctionner avec votre nouvelle architecture:

void main(String argv[]) {
  Unit hm = new ();
  Unit im = new UnitCenturion();
  Unit gr1 = new UnitHorseMan();
  gr1.add(hm);
  gr1.add(im);
  Unit hm2 = new UnitCenturion();
  Unit im2 = new UnitHorseMan();
  Unit gr2 = new Army();
  gr2.add(hm2);
  gr2.add(im2);
  Unit gr3 = new Army();
  gr3.add(gr1);
  gr3.add(gr2);
  Equipment shield = new WeaponShield();
  gr3.addEquipment(shield);
  System.out.println("la force de frappe de l'armée " + gr3.getName " + est de : " + gr3.strike());
}

Exercice 3:

Modifiez le code de la correction pour ajouter votre extension.

Précisions pour l'implémentation des méthodes de vos armées :

Implémentation des méthodes de vos UnitSimple:

UnitSimple doit implémenter toutes les méthodes de manipulation de groupe que nous avons ajoutés dans l'interface Unit. Pour la méthode add, nous lèverons l'exception UnsupportedOperationException.