答案 0 :(得分:0)
"构成而不是继承"原则是指您尝试重用代码的情况。
该原则表明,通过合成而不是继承来重用代码会更好。
它不适用于接口,因为接口不实现将被重用的代码(至少,直到Java 8 :)。
答案 1 :(得分:0)
接口是允许您反转依赖性的主要机制之一,因此实现可以依赖于抽象而不是相反。因此,如果遵循SOLID原则,接口应优先于直接实例化。
与任何其他语言功能一样,它可能被滥用或过度使用。但是当用于依赖性反转时,它基本上可以增强你的程序"组合"通过简化程序的行为来轻松扩展。
当然,如果你有足够的创造力,你可以在不使用界面的情况下弄清楚如何进行依赖倒置。没有接口的语言长期以来一直在进行依赖倒置。 stdio / iostream API就是最好的例子之一。它允许为新的字符设备编写设备驱动程序,而无需重写编译到stdout的程序。否则,每当有人推出新的行式打印机,终端或串行调制解调器时,您都必须重新编译操作系统上的每个程序。