原文链接:Tell, Don't Ask Alec Sharp在其最近的书Smalltalk by Example[1]中指出了一个极有价值的观点: 过程化的代码获取信息并做出决定。面向对象的代码只是告诉对象去做。 — Alec Sharp 这意味着,你应该尝试直接告诉对象你希望他们去做什么,而不是询问他们的状态,做出决定,再告诉他们去做什么。 这样做的问题是,作为调用者,你不应该根据你获得的被调用对象的状态来做决定, 然后再去改变对象的状态。你实现的这部分逻辑很可能是被调用对象的职责,而不...
codethink.me1 min read
No responses yet.