codedump的电报频道
4.43K subscribers
151 photos
4 videos
2 files
622 links
发布个人博客(主页 codedump.info)、想法、推荐等。RSS订阅地址:https://rsshub.app/telegram/channel/codedump_notes,过往汇总搜索可以到:https://app.shokichan.com/c/tg/codedump_notes。
Download Telegram
#设计模式
看到推友关于设计模式的一句话:“设计模式的本质是为了弥补语言抽象能力不足产生的东西。比如 visitor 模式也就 OOP 在用,支持点 pattern matching / lambda 的 FP 向语言基本不用。”

我是比较同意这个说法的,写多了Rust之类的非OOP语言,确实没怎么感觉设计模式的存在,因为非OOP类语言自有自己的一套解决这类问题的方案。

不过,这并不意味着设计模式就一点都不值得学习,某种程度上我认为设计模式教会了我:在哪些地方,常用哪些招式来封装变化,每个招式都有哪些优缺点,等等。“封装变化”以使项目更好得适应变化、高内聚低耦合等等,就与具体的语言无关了,是软件设计都必须面对的问题。而至于当时初学时为了设计模式而用设计模式导致的过度封装,又是另外一回事了。

https://twitter.com/the_foreverbell/status/1553780395778654208
👍17