随笔分类 -  架构

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