随笔分类 - 架构
摘要:我看到的最多被违反的原则是“命令,不要去询问(Tell, Don’t Ask)”原则。这个原则讲的是,一个对象应该命令其它对象该做什么,而不是去查询其它对象的状态来决定做什么(查询其它对象的状态来决定做什么也被称作‘功能嫉妒(Feature Envy)’)。这篇文章里有个很生动的例子,我至今记忆犹新:if (person.getAddress().getCountry() == “Australia”) {这违反了得墨忒耳定律,因为这个调用者跟Person过于亲密。它知道Person里有一个Address,而Address里还有一个country。它实际上应该写成这样:if (person.l
阅读全文

浙公网安备 33010602011771号