Principes :
On considère que les classes sont imbriquées. Ainsi, la classe QETApp permet d'accéder à tous les éditeurs de schémas, qui permettent d'accéder à toutes les vues sur projets, qui permettent d'accéder à toutes les vues sur schéma, etc.
On considère que les classes les plus prodondes sont les plus génériques et donc les plus aptes à être réutilisées. Exemple : une classe “en profondeur”, comme Diagram, est assez générique (concept de schéma électrique) et pourrait resservir ailleurs. Ce n'est pas le cas de QETDiagramEditor, qui est très spécialisée (interface graphique
QET).
Idéalement, une classe “en profondeur” ne connaît pas les classes “en surface” ; cela la rend plus facilement réutilisable.
Application du couplage faible : on fait communiquer les classes avec des signaux, émis naturellement par les classes “en profondeur” et interceptés par les classes “en surface”. Cela évite des appels de méthode nécessitant de connaître l'interface d'une classe plus en amont.
QETApp :
QETDiagramEditor
ElementsPanelWidget
ProjectView → QETProject
QETElementEditor
QETProject
Diagram
CustomElement
Conductor
DiagramTextItem
ConductorProperties
BorderInset
À compléter