Exercice

Vous disposez d'un programme qui implémente un éditeur vectoriel, version simplifiée de celui ci-dessous.

Simple Drawing Applet

Ce programme correspond au diagramme de classes suivant :

Travail à réaliser :

Refactoriser le code pour qu'il utilise le pattern "MVC" et le pattern "Visitor"

Utilités envisagées pour cette refactorisation : la refactorisation MVC devrait faciliter l'ajout d'une nouvelle vue du dessin (par exemple une vue à un niveau de zoom différent). La refactorisation selon "visitor" devrait faciliter la sauvagarde dy dessin sous un format quelconque (XML, PDF, SVG...). Il ne vous est pas demandé d'implémenter ces fonctionnalités, seulement de les rendre faciles à implémenter par votre refactorisation.

Un exemple de représentation du dessin dans un format XML ad hoc:

 

<?xml version="1.0" encoding="UTF-8"?>
<drawing>
    <line>
        <point X="68" Y="119"/>
        <point X="215" Y="68"/>
    </line>

    <circle radius="62">
        <point X="108" Y="63"/>
    </circle>

    <line>
        <point X="186" Y="157"/>
        <point X="29" Y="22"/>
    </line>
</drawing>
 

 

Fournitures du projet :