HTML コードの一部を表す XML ファイルがあります。
これらの XML ファイルには、ウィジェットの宣言も含まれています。
XML ファイルの例:
<message id="msg">
<p>
<Widget name="foo" type="SomeComplexWidget" attribute="value">
inner text here, sets another attribute or
inserts another widget to the tree if needed...
</Widget>
</p>
</message>
すべてのウィジェットが継承するメイン Widget クラスがあります。
問題は、それをどのように作成するかです。
ここに私のオプションがあります:
- XML ファイルを解析し、ウィジェットを必要なオブジェクトにバインドするために必要なコードを作成するコンパイル時ツールを作成します。
- 利点:
- システムに追加のランタイム オーバーヘッドが発生することはありません。
- セッターをバインドするのは簡単です。
- 短所:
- ビルド チェーンに別のステップを追加します。
- システム内のすべてのウィジェットをパーサーに追加する必要があるため、保守が困難です。
- マクロを使用してウィジェットをバインドします。
- 複雑なコード
- 利点:
- すべてのウィジェットを自動的にファクトリに登録する方法を見つけます。
- 利点:
- すべてのバインディングは完全に自動で行われます。
- すべての新しいウィジェットは、それを登録する WidgetFactory メソッドを呼び出すだけでよいため、オプション 1 よりも保守が簡単です。
- 短所:
- 保守性の悪夢を導入せずにセッターをバインドする方法がわかりません。
- メモリと実行時のオーバーヘッドが追加されます。
- 複雑なコード
- 利点:
何が良いと思いますか?より良い解決策を提案できますか?