Extension de classe utilisée en tant que BDD

Eddy58Eddy58 Membre
14:24 modifié dans API AppKit #1
Hello les Cacaoculteurs ! :)

J'utilise des classes avec le protocole NSCoding pour gérer des bdd. Le logiciel actuel sera surement appelé à  évoluer et à  intégrer de nouvelles données, ce qui signifiera restructuration des différentes bdd selon les évolutions. Pour éviter de perdre les vieux formats de bdd, il faut soit faire une moulinette pour convertir les vieilles bdd dans la nouvelle structure, soit trouver un moyen d'étendre les différentes classes. Utiliser les catégories n'est pas possible, car les évolutions se feront non seulement pour les méhodes, mais il y aura aussi de nouvelles variables d'instances. Pour l'instant ma seule solution pour éviter de devoir coder une moulinette, est d'intégrer pas mal de champs vierges de types différents dans les classes, qui serviront a acceuillir les prochaines évolutions. Bien sur cette solution a ses limitations, quand tout les champs supplémentaires seront exploités, il faudra bien que je code une moulinette....et j'en ai pas envie ca fait perdre du temps. :-\
Bon il est vrai qu'il s'écoulera pas mal de temps avant que les structures soient saturées, mais quelqu'un connait-il des solutions plus efficaces pour ce genre de cas ?  ???

Merci  :)

Réponses

  • 14:24 modifié #2
    Un système de plugIns ne peut pas être envisagé? Tu en fais par type de donnée, qui inclus également les méthodes pour afficher les données?
  • Eddy58Eddy58 Membre
    14:24 modifié #3
    Oui c'est une solution, mais il faut développer le sytème de gestion des plug-ins, je n'en ai jamais fait, et ca doit prendre un certain temps quand même. Je voudrais terminer le projet dans sa version actuelle assez rapidement, car j'ai un autre projet plus vaste en chantier, avec pas mal de boulot de fait déjà , en attente depuis des mois et j'aimerais me remettre dessus le plus tôt possible. Néammoins Renaud je garde quand même ton idée de plugIns en réserve pour de futures versions du soft. J'étudierais ça le moment venu. Merci :)
Connectez-vous ou Inscrivez-vous pour répondre.