假设我们有Car
一个名为 MAIN 字段的类VIN
(车辆识别号)。VIN给了我们很多信息,比如我们:
- 所有者
- 注册地
- 生产国
- 生产年份
- 颜色
- 引擎种类
- 等等等等
我可以继续并添加更多信息:
- 最后已知的 GPS 坐标
- 精美清单
- 是盗窃(布尔值)
- 等等等等
在对象内部存储一些信息(例如生产年份和发动机类型)似乎是合理的Car
。然而,将所有这些信息存储在Car
对象内部会使其过于复杂、“过载”且难以管理。此外,随着应用程序的发展,我可以添加越来越多的信息。
那么边界在哪里呢?什么应该存储在Car
对象内部,什么应该存储在外部,例如Dictionary<Car, GPSCoordinates>
我认为可能我应该将“静态”数据存储在Car
对象内,以便制作它immutable
。并将“动态”数据存储在特殊存储中。