Bonjour à tous,
Je développe actuellement une espèce d'éditeur de texte destinée aux auteurs de romans et nouvelles.
Comme le titre du topic l'indique, j'essaie d'appliquer à la lettre le design pattern MVC, et je bute sur un problème d'ordre conceptuel.
Je résume la situation :
J'ai à ma gauche un champ de texte multiligne (un objet NovelEdit héritant d'un objet champ de texte), et à ma droite un objet Novel (le roman à proprement parler).
Ce champ de texte appelle une méthode interne OnTextChanged() sur un évènement de modification du texte, elle-même appelant une autre méthode du contrôleur SetNovelText(text) qui s'occupe, d'une part, d'éditer le champ "text" de l'objet Novel concerné (via une méthode publique où tout un formatage* sera effectué) et, d'autre part, de demander au champ de texte de se mettre à jour en lisant ce même champ "text" reformaté comme il faut.
*Par formatage j'entends, un exemple simple, mettre toute les lettres "E" en gras, juste pour illustrer...
D'un côté tout cela me paraît théoriquement plutôt clean comme façon de procéder, mais de l'autre j'ai un peu peur que ce soit super lourd de demander au champ de texte de se réécrire intégralement à chaque pression de touche (et encore j'ai fait des essais sur à peine quelques dizaines de lignes, alors sur un vrai bouquin de plusieurs centaines de pages ça doit être assez folklo)... seulement c'est la seule méthode que j'ai trouvé pour suivre le pattern, du coup je ne sais absolument pas comment m'y prendre.
Un noble et vaillant développeur aurait-il des conseils à me donner ?