マップ内のレイヤーの階層を表す一種のツリー構造があり、レイヤーの種類とカテゴリで分割されています。各ノードは、異なるタイプのレイヤーに対して異なるクラスにすることができます (ただし、すべてのノードは共通のインターフェースを実装します)。
そのクラスを ASP.NET TreeView コントロールに変換する必要があります。入力ツリーの各ノードは出力ツリーのノードであり、ノードのタイプに依存するプロパティ セットがあります。入力ツリー クラスに UI クラスを認識させたくないので、"ToTreeViewNode()" メソッドを記述できません。現在、具象ノード クラスには 4 つのタイプがあり、そのうち 2 つは複合 (子ノードを含む) で、2 つはリーフです。これは将来変更される可能性があります。
使いたくてうずうずするデザインパターンがここにあるような気がします。それが何であるかを見つけるのを手伝ってくれませんか?