SQLite
 sql >> Base de données >  >> RDS >> SQLite

Comment puis-je diviser un long et unique SQLiteOpenHelper en plusieurs classes, une pour chaque table

pensez-vous que vous pourriez donner quelques conseils sur la façon de le faire

Cela n'a rien à voir avec Android, et même pas tant que ça avec Java. La décomposition de longues structures de programmation (par exemple, des classes en Java) en structures plus petites utilise des techniques standard, appelées modèles de conception, avec des implémentations spécifiques au langage.

Par exemple, vous pouvez utiliser le modèle composite :

  • Définir une interface -- je l'appellerai TableHelper ici -- qui a onCreate() et onUpdate() méthodes qui correspondent à celles de SQLiteOpenHelper

  • Définissez N classes, une par table, qui implémentent le TableHelper interface et fournir la logique de création et de mise à niveau pour cette table (ainsi que toute autre logique métier que vous souhaitez avoir sur ces classes)

  • Avoir votre SQLiteOpenHelper définir un TableHelper[] contenant des instances de votre TableHelper classes, et faites-le déléguer onCreate() et onUpgrade() à ces TableHelper instances en itérant sur le tableau