Car
MAIN フィールドがVIN
(Vehicle Identification Number)と呼ばれるクラスがあるとします。VIN は、次のような多くの情報を提供します。
- オーナー
- 登録場所
- 生産国
- 製造年
- 色
- エンジン型式
- などなど
続行して、さらに情報を追加できます。
- 最後に確認された GPS 座標
- 細かいリスト
- 盗難です(ブール値)
- などなど
一部の情報 (製造年やエンジンの種類など) をCar
オブジェクト内に格納することは合理的と思われます。ただし、このすべての情報をCar
オブジェクト内に保存すると、複雑になりすぎて「過負荷」になり、管理が難しくなります。さらに、アプリケーションが進化するにつれて、より多くの情報を追加できます。
じゃあ国境はどこ?オブジェクトの内部に格納Car
する必要があるものと、オブジェクトの外部に格納する必要があるものDictionary<Car, GPSCoordinates>
Car
オブジェクト内に「静的」データを格納する必要があるのではないかと思いますimmutable
。また、「動的」データを特別なストレージに保存します。