【发布时间】:2008-12-27 18:46:52
【问题描述】:
我正在尝试设计一个对象模型(用于 C#),但无法找到存储数据的最佳方式。我将尝试用一个简单的例子来说明这一点!
我有一个对象“pet”,它可以是“cat”、“dog”等其中之一。所以我创建了一个带有“petType”枚举的“pet”类来存储它。
现在这就是棘手的地方。如果“宠物”是“猫”,那么它的“食物”可以是“鱼”、“牛奶”等。如果它是“狗”,那么它的“食物”可以是“肉”、“饼干”什么的。
现在我应该为“fish”、“milk”、“meat”和“biscuits”创建一个大枚举并以某种方式对其进行编码,以便不能将“cat”分配给“food.meat”吗? 我的“宠物”类有一个“catfood”和“dogfood”枚举真的没有意义,因为那是不可扩展的,它最终会存储大量为空的枚举。
有没有我看不到的优雅解决方案?
【问题讨论】: