【发布时间】:2013-07-14 21:11:34
【问题描述】:
如果您查看wikipedia bridge entry,就会发现UML diagram 将实现程序 描述为私有变量,但随附的Java 代码示例将其视为非私有变量,并且refined abstraction 在下面的代码片段中使用它:
// low-level i.e. Implementation specific
public void draw() {
drawingAPI.drawCircle(x, y, radius);
}
drawingAPI 是 implementor,可从 refined abstraction 访问。
同样在同一个维基百科条目中,LePUS3 图暗示精炼的抽象应该只调用来自抽象的操作,而不是来自实现者的任何方法.
另请参阅以下 stackoverflow 答案,其中 实施者 是私有的: https://stackoverflow.com/a/319792/480894
那么implementor应该是私有的并且refined abstractions只调用abstraction中的方法吗?
【问题讨论】:
标签: design-patterns