数据访问对象是规则“告诉,不要问”的例外吗? 例如,从表数据网关获取最后10个帖子?
答案 0 :(得分:8)
一个summary的Tell Do Not Ask说:
“你应该尽力告诉对象你想要他们做什么;不要问他们关于他们的状态的问题,做出决定,然后告诉他们该怎么做。”
在向数据对象询问信息的情况下,我认为我们不违反该原则。
考虑使用“人员”信息显示报告或UI。我没有看到“你叫什么名字?”的替代方案。请注意,我们不会跟进任何“告诉他们该做什么”。
答案 1 :(得分:3)
从技术上讲,当你向他们询问自己时,你是不是告诉他们告诉你一些事情?
OOP有时让我很头疼,我不知道什么时候停止思考并开始写作,或者停止写作并开始思考:X