レンダリングシステム、物理シミュレーション、UIの3つのコンポーネントがあります。 UIコードはスクリプトで書かれており、信頼できません。今私は物理シミュレーションの結果をレンダリングシステムに伝える必要があり、正しい設計が不明です。たとえば、新しいシム・データをレンダラーにコピーするだけです。しかし、これは少し浪費のようです。シムのデータを直接操作するレンダラを設定できますが、これはカプセル化に違反するようです。2つのカプセル化されたコンポーネント間の通信
私はこのシステムを何千もの移動ユニットで動作させる予定ですので、パフォーマンスを念頭に置いておくことが重要です。
どのようにカプセル化に違反することなく、あるコンポーネントから別のコンポーネントにデータをすばやく移動できますか?
あなたはconstとしてデータを提示できませんでしたか? 'sim.cdata()'かそれとも何か? – 111111
以下を実行してみませんか:simデータに安定したインターフェイスを定義して、レンダラーにインターフェイスのみを取得させますか?シムの実装の詳細は、このように隠されるでしょう。 – Vlad
@Vlad:もちろん。それは全体ではなく、部分的なカプセル化に過ぎません...しかし、私はそれが生きるだろうと思います。それを回答として投稿することを検討してください。 – Puppy