1

Canvas ペイント アプリを作成しています。

いくつかの操作では、マウスで描画を選択するたびに使用されるビジターがあります。現時点では、次のように常にビジターを再作成します。

Visitor visitor = isStateSelected ? new SelectionVisitor() : DrawVisitor();

これらの訪問者を静的にするか、少なくともプライベート フィールドを導入することを検討する必要がありますか? それとも、現在の方法はよりクリーンであり、オブジェクトの作成は大きなオーバーヘッドではないと主張できますか?

4

2 に答える 2

2

適切な訪問者をトリガーするために状態パターンを使用することをお勧めします。アプリケーション層では、キャッシュは本当に悪い考えです。ドメイン モデル クラスはそれらを参照するべきではなく、構成レイヤーにのみ存在する必要があります。

于 2013-04-01T14:39:50.447 に答える
1

このオブジェクトの作成がアプリのボトルネックである場合は、プライベート キャッシュが次のステップになると思います。速度が落ちていない場合は、次の問題に進むことができると思います。

コードをきれいに保つ試みが大好きです。訪問者のキャッシュでコードを混乱させたくない場合はprivate getVisitor()、キャッシュ変数を管理する独自のメソッドでこれをラップすることで、コードを分離しておくことができます。

于 2013-04-01T14:35:44.177 に答える