マイアプリケーション「ノードは」親と子供とのツリー構造として編成されていますEとFは下の子孫ている間ノード間でデータを渡す。それらをきれいに保つ方法?
A---------B---------C---------D---------E
\---------F
Aがトップの祖先です。実行フローは、優位側から子孫側に向かいます。
すべての単一ノードは、処理する必要がある特定のタイプのデータを受け入れます。したがって、設計上の決定では、ノードが受信できるデータは互いに分離されています。
ノードEとノードFが特定の種類のデータを必要としているとしますが、Cノードでのみ使用できるとします。ですから、私はそのデータをCノードからEノードとFノードに転送するメカニズムが必要です。
解決策1:子孫ノードが祖先ノードのデータにアクセスできるようにします。ですから、私はそのデータをCノードに追加して、EノードとFノードから取得することができます。この解決策について私が気に入らないのは、すべての仲介ノード(CとDを含む)には、実際には必要ないデータが含まれているということです。私には、将来アプリケーションを管理する際の問題のように思えます。
解決策2:データを格納するためにCで使用でき、EノードとFノードから読み出す(必要な場所にデータを持ち込む)一時記憶クラスを導入します。このソリューションは、私にとって、何とか汚れているように聞こえ、アプリケーションを複雑にします。
それであなたは私のものでしたか、どんな解決策をとるか、見えない別の解決策でしたか?
私はソフトウェア設計に新しいので、あなたからのコメントや提案は非常に歓迎されます。
ありがとうございます。
明確にするためにいくつかのコードを追加できますか? –
私はメッセージバスがここで助けになっているのを見ることができます。 –