あるアプリケーションでは、私は多くの異なるオブジェクトを持っています。たとえば、正方形、円など、さまざまな形があります--->些細な例でごめんなさい。
このすべてのオブジェクトを使用して、xml、txt、htmlなどのさまざまなタイプのドキュメントを作成します(例:すべてのオブジェクト(形状)ツリーをスキャンして、xmlファイルを生成します。
私が考えた自然なアプローチはビジターパターンです、私は試しました、そしてそれはうまくいきます:-)-すべてのオブジェクトはIVisitorインターフェースを受け入れる1つのビジターメソッドを持っています。-作成したい種類ごとに1人の具体的な訪問者がいます:(、、XmlVisitor
などTxtVisitor
)。すべての訪問者には、あらゆる種類のオブジェクトに対して1つのメソッド「訪問」があります。
私の疑問は...オブジェクトがたくさんあるとスケーリングがうまくいかないようです...論理的な観点からは問題ありません。具体的なビジターに新しい形状とメソッドを追加するだけです。それで全部です。
どう思いますか ?代替案は可能ですか?