居然看到一个人说面向对象继承缺点的。什么组合重于继承。什么继承容易耦合。
我就想问一句,编程语言的特性是否需要考虑业务层面的高耦合还是低耦合?
我感觉这只是看到了他那一层的问题,就是应用层。
我们用react, vue,我们做的界面实现的是简单界面业务,本质上组合一下,做点体力活就行了。所以强调的是容易理解,使用方便,任何人能快速上手。
业务层面的耦合低想得是,一个人干的事最好不要影响其他人。你这块写的不好,你辞职了,大不了找个人替代你,快速上手,能顶上来。
但是react, vue这样的复杂库的实现,能这样做吗?这些库的维护人员核心就那点人,讲究的是高复用,高重构,要去掉冗余,要抽象复杂性,每个改动都要小心设计。耦合是不是高并不重要。所以从js换到了typescript。因为需要类型,需要继承,需要小心的设计接口。
还有即使你现在写的没用class,不表达没有继承,class本质还是原型链继承。。