さまざまな種類のノードで構成されるツリー構造があり、ツリーを XML 形式にエクスポートするコードを作成するタスクが与えられます。
各ノードはいくつかのベース ノードから継承するため、ベース エクスポート メソッドを継承できますが、いくつかのタイプのノードでは、データが「興味深い」方法で保存されるため、カスタム エクスポート メソッドを記述する必要があります。
ノードには現在、ツリー管理に関連するデータといくつかのメソッドのみが含まれています。ノード自体にエクスポート メソッドを追加しないようにする方が良い設計だと思います。これは、ノードが複数の責任 (親/子の管理、エクスポート) を処理していることを意味します。
エクスポート プロセスは基本的にルート ノードから開始し、再帰的に を呼び出すので、理想的にはメソッドexport
を実装するだけで済みます。export
ノードにいくつかの継承階層があるという事実を利用しながら、すべてのエクスポート コードを個別のクラスに記述できるようにする方法 (デザイン パターンなど) を探しています。
違いがある場合、これは Java で記述されます。