我在考虑允许像Python这样的多重继承的语言。 SOLID如何应用于这些语言?
通常声称允许多重继承的语言不需要接口。但是类型提示呢?
如果我像这样定义我的方法,我仍然有一个硬依赖。 因此,除非我在基类上扩展一个新类,否则不能应用Open closed原则。
为什么我会为多年前有人写过的可能实现而烦恼,我希望通过创建一个新实例与该代码完全分开。
public function test(MyConcreteDependency $test){}
对于编程SOLID,基于接口的语言是否更加清晰?