我在寻找描述某种情况的模式。也许有人知道的东西,可以给我一个提示寻找特定的设计模式
情况对象的类型A,1:n关联到类型B的对象。示例:一个人和他的所有宠物。宠物对象有年龄数据成员。现在每个人都应该有一个他的宠物平均年龄的数据成员。我不希望这些信息被保存和加载,但要在加载过程中进行计算(所有必要的信息已经存在,所以这是多余的,但我想要人物对象中的信息)。
问题那么我该如何以面向对象的方式做到这一点?有没有描述这种情况的模式?我的第一个想法是有一个ComputedFieldsUpdater类,它接受一个宠物对象,然后计算所有尚未加载的字段。但我想知道这是否是正确的方式,或者是否可能有更优雅的解决方案?
感谢您的想法。
甚至更好的平均然后可以被缓存,而不是每次都重新计算 – MahdeTo 2009-04-30 05:59:51
“从一个面向对象的点关于平均值的信息不应在Person直接无论如何。“ - 我对此不太确定。通常在OOP中,一些代码想要请某个类来执行计算 - 而不用担心数据的内部或中间表示。我认为像person.getPetsAverageAge()这样的东西会是一个合适的方法。 – harto 2009-04-30 06:56:44