私はOgre3Dを使用していますので、プロジェクトを実行するためにOgreおよびOISクラスを継承するいくつかのクラスを使用しています。OOPは良いキャッシングを推奨していますか?
私は、あるシングルトンの変数にアクセスして、自分が望むことを他の人に伝える必要が絶え間なくあるので、私はこのゲッター/セッターの膨大な量を持っていますプロジェクト。
私はデータを手の届くところに置いておくことがパフォーマンス上重要であることを知っています。OOPソートでは、必要な変数をクラス内に保持するので、デフォルトでそのようなプラクティスを奨励しますが、これらすべてのコンストラクタでかなりの初期化がありますが、それは哀れです。
私のちょっとばかげたゲームは、それほど多くのリソースを必要とすることはありません。Ogre3DはOOPを使用して効率的に仕事をするので、OOPを使ってゲームをする必要はありません。
私はすべてのデータをパブリックにし、カプセル化について気にしないために、すべてのデータを別の構造体に入れることを考えています。
悪いOOP設計にもかかわらず、パフォーマンスに影響はありますか?
"私は、あるシングルトンの変数にアクセスして、自分が望むことを他の人に伝える必要があるため、問題が発生し始めているので、私はこの膨大なゲッター/セッターをプロジェクト。" **厄介です**少なくともあなたはこれが悪いデザインだと思います。 –
あなたはあなたのすべての状態を1つの巨大なシングルトンで持っているなら、あなたはすでに悪いOOPデザインを持っています... –
OOPが妨害であれば、それを気にする必要はありません。そのようなことを正確に記述し、getter/setterの膨らみを取り除くことができると感じたら、あなたの人生をより楽にして構造体を使用してください。そして、誰もOOPが「正しい」方法であるとは誰も言わなかった;) –