Bonjour,
J’ai une idée d’application que j’aimerai développer mais je bloque depuis deux jours sur comment je vais construire mon code.
J’ai différents composants (system
, element
, subsystem
, equipment
) qui constituent un arbre :
system/
├─ element/
│ ├─ subsystem/
│ │ ├─ equipment/
│ │ ├─ equipment/
│ ├─ subsystem/
│ │ ├─ equipment/
├─ element/
Un system
peut avoir plusieurs element
, qui lui peut avoir plusieurs subsystem
, qui lui peut avoir plusieurs equipment
. Tous ces composants ont en commun des attributs et des méthodes.
Tous ces composants implémentent en plus des "comportements". Par exemple un premier comportement serait la position et l’orientation, qui serait implémenté par tout le monde. equipement
aurait le plus de comportement comme la masse ou la géométrie (ces comportements sont justes pour le composant equipment
).
element
vient rajouter une difficulté : on peut lui définir des modes de foncitonnement. Pour chaque mode, la liste de ses composants ne change pas. Par contre les valeurs des comportements implémentés par ses enfants peuvent changer.
Je ne connais pas très bien l’ECS, mais je sens que ça serait le design pattern le plus adapté à mon projet. Seulement, je ne vois pas très bien comment gérer le système de mode.
Autre question, je souhaite sauvegarder cet arbre. Mon application utilise SQLite pour la gestion des utilisateurs et des droits. Sauf que je me vois mal sauvegarder un tel arbre en base de données non ? La façon la plus propre serait-il d’avoir une entrée dans ma base de donnée pointant vers un fichier XML décrivant l’arbre et les différentes valeurs de chaque comportement ?
Merci pour vos réponses et bonnes fêtes de fin d’année.