Je veux mettre en œuvre un système de plugin pour un Open Source application, parce qu'il est devenu très grand, avec de nombreuses fonctionnalités que seuls quelques utilisateurs ont besoin. Libérant différentes applications n'est pas une bonne solution, parce que l'utilisateur veut feature7 et feature24 tandis que userB veut feature39 et feature24.
Où puis-je trouver un bon exemple d'une architecture de plugin?
Voici ce que j'aimerais un plugin pour être capable de faire:
- Redéfinir la mise en page d'un écran particulier (charge dégonflé XML?)
- Redéfinir une méthode d'une classe (charge dex classe?, AOP?)
Par exemple, l'un des plugins devez ajouter un bouton sur un écran, et en cliquant sur ce bouton incrémente une valeur dans l'application de base de données. Ce n'est pas faisable avec les Fournisseurs de Contenu et les Intentions, autant que je sache.
Je veux éviter de faire de la base de l'application du code complexe, avec des tonnes de crochets partout.
Le formulaire du plugin peut être un fichier sur la carte SD, d'une application, ou quoi que ce soit d'autre.