1

いつ単一のオブジェクトを作成してそれを必要とするすべてのオブジェクトに渡すか、またはそのアイテムを必要とするすべてのオブジェクトに対して新しいオブジェクトを作成するかを決定するのは常に難しいと感じています。

割り当てとインスタンス化の後に読み取り専用になるエンティティオブジェクトのように、非常に明白な場合もあります。同じオブジェクトをどこにでも渡すことができ、別のオブジェクトがそれを変更することを心配する必要はありません。これにより、そのオブジェクトへの参照を保持している他のオブジェクトが台無しになります。

私の問題は主に、ユーザーに自分自身を表すオブジェクトにあります。CCSpritecocos2d、NSMenuItemCocoa(AppKit)などの視覚的表現を持つオブジェクト。



例:

ココアでは、特定のボタンの選択が残りのボタンに影響を与えないように、NSMenuそれぞれにを作成する必要があることを知っています。NSPopUpButtonしかし、中にNSMenuItems含まれているのはどうですか?単一のセットを作成して、それらをすべてのメニューに渡すことはできますか?あなたの根拠は何ですか、またはどのようにしてそのような結論に達しましたか?

その他の例:

cocos2d、およびほとんどすべてのGUIベースのアプリケーションでは、ボタンに2つの画像/スプライト/...などを渡すことができます。1つは通常の状態用で、もう1つは選択された(強調表示、押された、クリックされた)状態用です。同じ画像/スプライト/...などを渡すことはできますか?両方に、同じオブジェクトを指すようにしますか?

cocoa、cocos2d、Javaなどの多くのプログラミングプロジェクトで直面しているので、これが実装関連の問題ではないことを願っています(最終的には実装に依存します)。

PS:適切なタグを選択するのに助けが必要です

4

1 に答える 1

1

パフォーマンスの問題が発生しない限り、新しいインスタンスを作成することをお勧めします。NSMenuItem多くのインスタンスを共有するNSMenuと、そのインスタンスの制御を維持することがより困難になり、エラーのリスクが高まります。

于 2012-04-21T22:07:48.733 に答える