これは純粋なC++の技術的な質問ではないかもしれませんが、アドバイスは大歓迎です。C++クラスのデザイン
多くのメンバーでクラスを実装する必要があります(Aとしましょう)。
また、これらのデータには他のクラスのセットでアクセスする必要があり、このアクセスは非常に高速である必要があります(クラスAのメンバーが条件づけをしています)。
最初のアプローチは、プライベートとしてアクセスレベルをプライベートとして設定し、特定の要素をチェックする(多くのメソッド呼び出し)セッター/ゲッターの種類を使用することでした。
他の方法では、すべてのものをAで公開し、次のものは友だちクラスを12個作成します。正直言って、私は上記のどれも好きではありません。システムの残りの部分は、Aクラスのメンバーにはアクセスできず、関心のあるメンバーだけにアクセスすべきである。
多分誰かが同様のものに対処しなければならなかったかもしれませんし、アドバイスはいくつかの良い練習、多分いくつかの適切なデザインパターンかもしれませんか?
何を試しましたか? – Raindrop7
おそらく基本的な問題は「多くのメンバー」です。 :-)問題をいくつかの小さな問題に分けることはできませんか?おそらく、不安の一部は消え去るだろうか?それ以外の場合、インラインゲッターはパブリック変数とのパフォーマンスの違いを与えません。だから心配しないでください。とにかくほとんどの時間を費やす場所は、「ドローイングのもの」です。一方、「数十人の友人」は避けるべきもののようです。 –
@ Raindrop7私はポストに記載されたすべてをテストしました。実際にはそれらのすべてがうまくいっていますが、私の意見では「かなりエレガントではありません」。だから、多分もっと良いものがあるかもしれない。 – Robert