在阅读了最优秀的书"Head First Design Patterns“之后,我开始向我的同事们宣扬模式和设计原则的好处。在赞美我最喜欢的模式--策略模式的优点时,有人问我一个问题,让我停了下来。当然,策略使用继承和组合,当我的一位同事问到“为什么使用抽象基类而不是具体类?”时,我发表了一篇关于“对接口(或超类型)而不是实现进行编程”的长篇大论。我只能想出“好吧,你强制你的</e
我经常遇到“编程到接口而不是实现”这个术语,我想我有点理解它的含义。但我想确保我明白它的好处和可能的实现。“对接口的编程”意味着,在可能的情况下,应该引用类的一个更抽象的级别(接口、抽象类,有时是某种类型的超类),而不是引用具体的实现。Java中一个常见的例子是使用:
List myList = new ArrayList();而不是ArrayL