如何解决对谁隐藏了实现的对象?
我知道架构,我们如何使用接口和抽象类实现抽象。 但是我们是向谁隐藏的?
作为开发人员,任何人都可以单击该方法,并看到为这些抽象方法提供实现的类。
作为用户,他只会面对UI,因此无论如何他都不会看到代码。
那我要向谁隐藏实施程序呢?
解决方法
我们对接口的客户端隐藏了它,以使他们不依赖于可能发生变化的事物。接口的客户端是一段调用该接口的代码。
假设我编写了一个堆栈接口:
interface Stack {
push(String s);
String pop();
}
和实现:
class StackImpl {
public List contents;
public void push(String s) {
...
}
...
}
如果客户端使用StackImpl,他们可能会开始直接访问contents
,这意味着在不破坏所有客户端的情况下,我无法将实现更改为使用数组。
如果他们仅使用Stack
,我们可以在不影响客户的情况下改进实现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。