问题域具有大量命名的snark.有些嗤之以鼻.
至少有两种方法可以对此进行建模:
// as a property:
class Snark {
string name;
bool is_boojum;
};
// as a list:
class Snark {
typedef long Id;
Id id;
string name;
};
tree<Snark::Id> boojums;
看起来直观的是,如果我们确定了雄性和雌性中的蜥蜴,我们会在snark类定义中添加一个"性"属性; 如果我们确定除了五个狙击手之外的其他所有掠夺者都是被征服的对象,我们就会列出皇室成员名单.
是否有可以应用的原则,还是建筑偏好的问题?
你想解决什么问题?
如果记录snarks版税的目的是在GUI中在他们的头上显示一个表冠,那么它仅仅是一个属性是有意义的.(或者,可能有一个RoyalSnark子类,带有重写的Render方法.)
如果目的是快速找到所有的皇家诅咒,那么列表更合适 - 否则你需要查看每个狙击并检查其属性.