Tag: de demeter

是否适合在模型中重复数据以满足集合中使用demeter的规律?

这是一个人为的例子,我想列出一个人有朋友的国家的人口,下面是两个设置。 是否最好在模型中重复数据? 我被告知德米特法则很重要,例如你告诉狗走路,指挥他的腿走路是愚蠢的。 在我丰富的经验(noob)中,我发现当模型重复数据时,查询会更容易, People.where(:country => friend.country) ,以及存在链接关联的集合(已经存在到目前为止不可能): People.where(:city => { :county => { :region => { :country => friend.city.county.region.country }}}) (这真的有助于这个noob在这里理解这个概念如果你能想象出正确设计的LoD设置和语法,我真的希望我没有使用与Demeter法则无关的例子)我试过通过delegate应用LoD并被告知我仍然链接(我是),我能想到的唯一解决方案是重复可以通过关联访问的数据。 但我讨厌重复数据! 这是由于我们重新创建了推特后DHH的Rails tutuorial,他展示了创建关系与重复数据的关系。 重复数据是否适合使关联更少链接? 模型,重复数据 class Country < ActiveRecord::Base has_many :regions has_many :counties has_many :cities has_many :people end class Region < ActiveRecord::Base has_one :country has_many :counties has_many :cities has_many :people end class County […]