mixin机制 vue_Vue 的 Mixin 设计是糟粕吗?

修改一下这个问题

关于 mixin,是一种很常见的「组合」方案,它非常简单,也非常常用……比如 vue 基于对象的组合,比如 react 是基于 class 的组合……组合的优点是自由简单,缺点是容易乱

无论是 mixin 还是 hooks 还是 HOC,都一个尿性,都很容易乱

但都比继承好,因为我们写的是 web,是 UI,声明多于逻辑,纯函数,声明式,组合,会更好

但是反过来,如果我们写个游戏,此时面向对象,命令式,继承就有优势了,因为写游戏重点在于逻辑……

所以其实本质上,mixin,hooks,HOC,本质都是一个东西,都一个尿性

那具体哪个好,就得看具体框架和具体场景

比如 class,HOC 比较合适

比如 function,hooks 就比较合适,因为本质上 hooks 是利用了函数的闭包

比如 object,尤其是生命周期,就很适合 mixin

比如 fre,使用的是 function 和 hooks

再比如 berial,因为它只有三个生命周期方法,mixin 的模型足够简单

那回到题目本身,vue 的 mixin 是糟粕吗?

说实话,vue 除了 mixin 似乎也没更好的拓展机制了……mixin 之所以对 vue 来说是灾难,是因为 vue 一个对象包含了太多需要混合的东西,生命周期,data/props,method 等等

mixin 并不适合复杂的组合场景,所以从这个角度来说,vue 的 mixin 是糟粕

但是话又说回来了,vue 本身就是个大锅乱炖的框架呀,从一开始的设计模型不够粗暴简单,啥机制用到它身上都是糟粕……

所以本质上这个问题是个纯粹的设计问题,组合本身就容易乱,但如果一开始的设计模型简单粗暴,还是可以设计地很好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值