问题域以大量命名的蛇为特征。有些蛇是boojums。
至少有两种方法可以对此建模:
// 作为属性: 类蛇{ 字符串名称; 布尔 is_boojum; }; // 作为一个列表: 类蛇{ typedef 长 ID; 身份证号码; 字符串名称; }; 树<Snark::Id> boojums;
看起来很直观,如果我们确定 snark 分为男性和女性,我们将在 snark 类定义中添加“sex”属性;如果我们确定除了 5 条蛇以外的其他人都是被征服的臣民,我们就会列出一份皇室成员名单。
是否有可以应用的原则,或者是架构偏好的问题?