Comment concevoir une application de façon modulaire?

Je suis à la recherche pour obtenir des conseils, des suggestions, des liens, des avertissements, des idées et même anecdotical comptes sur "comment concevoir une application de façon modulaire". Je vais utiliser python pour ce projet, mais les conseils ne doivent pas nécessairement se référer à cette langue, bien que je ne suis disposé à mettre en œuvre une conception basée sur la programmation orientée objet.

Contexte pour comprendre d'où je viens et ce que je suis en train de réaliser...


Mon projet sera une petite application qui va consommer des services web et afficher les résultats dans une variété de façons, y compris:

  • popup de notification contenant seulement le résultat de l'appel
  • onglet dans la fenêtre principale de l'application avec des graphismes tracées à partir de récupéré des données brutes,
  • tampon de messages (visible sur domand) où les résultats provenant des différents services s'accumule

L'application seront publiés sous forme libre (comme dans le discours) de logiciels, et pour cette raison je voudrais le rendre vraiment facile pour les autres développeurs à écrire des plugins/modules qui permettra d'étendre les fonctionnalités de l'application principale, sans avoir à modifier le code de base.

À ce point dans le temps, plugins doivent essentiellement permettre à un développeur pour activer un nouveau webservice, en définissant le fournisseur, de manipulation de données (le cas échéant) et la façon dont les données seront présentées à l'utilisateur.

J'ai une vaste expérience en développement avec drupal qui a une puissante approche modulaire, mais qui suit aussi un non-conception orientée objet, donc je suppose que pour python, drupal, la conception peut ne pas être la solution optimale.

Si ce n'est de toute importance - l'âme sera nativement développé pour GNU/Linux.

Je vous remercie d'avance pour votre temps!

InformationsquelleAutor mac | 2009-12-08