感觉我已经走到了死胡同。如果我理解正确,那么如果我遵循得墨忒耳法则,我将永远无法创建一个返回对象的方法,然后客户端代码会调用它。我只是在考虑总是返回一个对象的工厂模式。是的,有返回对象的映射器类。那么收藏呢?
问问题
1746 次
1 回答
14
您误解了得墨忒耳法则,并且将其应用到了有用的范围之外:
更正式地说,函数的得墨忒耳定律要求对象 O 的方法 M 只能调用以下类型对象的方法:
- O本身
- M的参数
- 在 M 中创建/实例化的任何对象
- O 的直接组件对象
- 一个全局变量,可由 O 访问,在 M 的范围内
特别是工厂用于创建对象,它们创建的对象类型是其公共接口的一部分。因此,上述允许调用由工厂创建的对象的方法。
于 2011-02-19T09:57:59.883 回答