問題タブ [plugin-architecture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
110 参照

python - Python を使用してランタイム オブジェクト (異なる) 実装を実装するにはどうすればよいですか

私の要件は、3 つのステップで HTML から PDF を生成する標準フレームワークがあることです。

1) DB からデータを取得し、そこから意味を作成し、XML を読み取り、設定をオーバーライドまたは決定するなど - pre_processing

2) 前処理されたデータを使用して HTML テンプレートを作成する - render_template

3) HTML から PDF への変換を実行し、PDF を取得します。-invoke_service _

現在、場合によっては異なる PDF エンジンが必要になる可能性があり、実装が変更される可能性があります...その中には、非常に厳密なデータまたは独自の設定が必要な場合もあります。

したがって、1 、オーバーライド 2オーバーライド 3を拡張する必要があるかもしれません。この実装を構成可能にして、簡単に切り替えられるようにしたいと考えています。

基本クラスを作成してから、実際に実行時オブジェクトになる Foo.py 実装と Bar.py 実装を作成することを考えています。単純な Python でこれを取得するにはどうすればよいですか?

私が考えることができるひどい方法は次のとおりです。

この問題を解決するための良い指針を教えてもらえますか? 基本的には Foo(Base) または Bar(Base) が必要で、これは構成を読み取ってそれにマップするようなものでなければなりません。

私の現在のモジュールレイアウトは次のとおりです。

モジュール.py

  • base.py
  • foo.py
  • bar.py
  • unknown.py は簡単に拡張できる必要があります。
0 投票する
1 に答える
967 参照

php - PHP のフック/プラグイン アーキテクチャ

PHP でプロジェクトのフック/プラグイン アーキテクチャを実装する必要があります。PHP で書かれた多くの記事や例、プラグイン アーキテクチャに関する情報を見つけましたが、これがどのように機能するのかまだはっきりとは理解できません。これは誰かにとって本当にばかげた質問かもしれませんが、私はこれらの概念に慣れていないので、明確な答えを見つける必要があります. プラグイン アーキテクチャにおけるフックの実際の役割は何ですか? フックはどのようにアプリケーションをより拡張可能にしますか? PHPの例で答えを知りたいです。

ありがとうございました。

0 投票する
2 に答える
36 参照

java - 別の Maven プロジェクトの「プラグイン」としての Maven プロジェクト

2 つの Maven プロジェクトがあります。

  • そのうちの 1 つは単純な (Quartz ベースの) スケジューリング フレームワークです。
  • もう 1 つは、依存関係とリソース ファイルでいっぱいの、より重いプロジェクトです。ビルド時に、これらは jar ファイルの外部の個別のディレクトリにパッケージ化されます (プロジェクトのクラスパスはこれらの依存関係に構成されます)。

2番目のものを最初のものから定期的に呼び出したいのですが、リソースと依存関係のフォルダーを台無しにすることなく、それらをできるだけ分離したままにします。

これを行う最善の方法は何ですか?

ありがとう、クリシー

0 投票する
1 に答える
122 参照

c# - ロギング コンポーネントの柔軟性の使用方法

私のチームは、ホスト アプリケーションがプラグインの動作を調整するプラグイン プロジェクトを開発しています (各プラグインには特定の機能があり、別のスレッドで実行されます)。私はホスト アプリケーションを作成し、IPlugin インターフェイスを定義しています。他の開発者は、私の IPlugin インターフェイスを参照して、彼のプラグインを開発します。
そして、私のチームに問題を提起してください: 一部の開発者は Nlog を使用してプラグインの作業をログに記録しますが、他の開発者は Log4Net を使用します。
私の質問は、各プラグインが使用したいロギング コンポーネントを使用できるようにする方法です。
ありがとうございました!