「モジュール方式でアプリケーションを設計する方法」についてのポインタ、提案、リンク、警告、アイデア、さらには逸話的な説明を探しています。このプロジェクトではPythonを使用しますが、OOPに基づく設計を実装するだけでよいのですが、アドバイスは必ずしもこの言語を参照する必要はありません。
これが私がどこから来たのか、そして私が何を達成しようとしているのかを理解するためのいくつかの文脈です...
私のプロジェクトは、Webサービスを利用し、次のようなさまざまな方法で結果を表示する小さなアプリケーションになります。
- 通話の結果だけを含む通知ポップアップ
- アプリケーションのメインウィンドウのタブで、取得した生データからグラフィックがプロットされます
- さまざまなサービスからの結果が積み重なるメッセージのバッファ(domandに表示)
アプリケーションは無料の(スピーチとしての)ソフトウェアとしてリリースされます。このため、他の開発者がメインアプリケーションの機能を拡張するプラグイン/モジュールを簡単に作成できるようにしたいと思います。コアコード。
この時点で、プラグインは基本的に、プロバイダー、データ操作(存在する場合)、およびデータがユーザーに提示される方法を定義することにより、開発者が新しいWebサービスをアクティブ化できるようにする必要があります。
私は強力なモジュラーアプローチを備えたdrupalを使用した開発の豊富な経験がありますが、それは非オブジェクト指向設計にも準拠しているため、Pythonの場合、drupal設計は最適なソリューションではない可能性があります。
これが重要な場合、コアはGNU/Linux用にネイティブに開発されます。
よろしくお願いします!