TwiScan
인기
커뮤니티
로그인
회원가입
English
日本語
한국의
简体中文
繁体中文
가입 후 초대 링크를 공유하면 동영상 재생 및 초대 보상을 받을 수 있습니다.
지금 가입
绚香音 Rizumu
@RizumuA3
aka 小音 LittleSound|💚 Member of Vue,参与开发 Vapor 模式中|🪀 玩 3D 打印并制作了大量程序员周边| 🔥热爱开源|Pride → 🧠 AuDHD、🏳️⚧️ she/her|🎮 喜欢玩 魂系、任天堂游戏|🐙: LittleSound
가입 January 2020
1.5K
팔로잉 중
11.8K
팬
绚香音 Rizumu
@RizumuA3
2026.05.19 11:12
最近公司 领导 和我聊起面 向对象(OOP)和设计模式。并说想要在公司中推广设计模式。但是我表示了 反对。 我想聊聊我为什么不喜欢设计模式,以及我信奉的软件 “设计模式”。 说实在的,我其实没看过 GoF 那本设计模式的书。以后也大概不会去读。但是设计模式的大名还是有听过 我之前在 Vue 团队写 Vapor 模式时。发现 Vue 的响应式系统确实使用了 OOP,但主要是出于性能上的考虑。当优化达到一定层级之后,哪怕是引擎层面的微小实现差异也会影响性能。所以我们选择 OOP,是因为它带来的优化便利,并不是因为我们想要套用某种具体的设计模式。 * Vue 的源代码中 ReactiveEffect、Dep、ComputedRefImpl 这些类的存在,是因为 V8 的 hidden class / inline cache 对固定形状的对象优化更好。 (如果理解有误,欢迎指出) 我在入行的初期学过 OOP,大约是 8 年前的事了,已经很久了。但是过去这几年,我逐渐觉得设计模式并不太适合 Vue 3 + TypeScript 的开发。如果不是为了性能优化,我现在也很少使用面向对象。我会这样看,一部分原因是受到了像 Anthony Fu (antfu) 这些人的影响。 * GoF 是 1994 年的 C++/Java 世界的产物。如今语言进化了,很多模式从"需要刻意设计"退化成了"语言原生特性"。 这就是为什么 antfu、Evan、Anthony Fu 那一派人不太谈 GoF。不是反对它,而是它已经融进语言里了,再单独命名反而显得笨重。 “ 模式之所以叫模式,是因为语言没原生支持它,你得手动重复实现。” 去年我读了一本关于如何更好的编程的书,我很快就爱上了它。我试着推荐给我的推友们,结果发现推友中已经有不少人读过了。而且也很喜欢! 这本书是《软件设计的哲学》(A Philosophy of Software Design) 我特别喜欢书中对复杂度的阐释方式,现在仍会时常翻阅。 我的 CLAUDE.md 提示词里也用了这本书的概念: - 深模块(Design Deep Modules) - 消除错误(Define Errors Out of Existence) - 向下沉淀复杂性(Pull Complexity Downwards) - 不同层不同抽象(Different Layer, Different Abstraction) 这边篇幅有限,就不展开这几个概念了。如果感兴趣的话,我可以之后仔细写写我自己的理解。 让我疑惑的问题: 设计模式如今还被使用,似乎更多是一种沟通时的共同语言。但是我们是否真的按照它的模式来设计代码架构呢? 它作为大家交流的语言和思想的工具如今是否还是合适的选择。是否落后,又是否有着与时俱进的新选择呢? * 写了好多,以上都是我自己的主观想法,可以随便聊 🤗
더 보기
0
0
63
342
20
커뮤니티로 전달
인기 있는 사용자
aespa
@aespa_official
4.8M 팬
New York Post
@nypost
3.8M 팬
2PM
@follow_2PM
1.2M 팬
2PM Japan Official
@follow_2PMJP
140K 팬
半半子💖BANBANKO
@Banbanko_
522.4K 팬
Helly Valentine💖
@hellyvalentine_
387.2K 팬
彭博商業周刊 / 中文版
@BloombergBWCN
40.9K 팬
Nekoneko JX
@NekonekoJX
153.9K 팬
小牛
@Xiaoniu6161
172.9K 팬
billboard
@billboard
15.2M 팬
千阳(ちよ)🎐
@tokio0131
961.3K 팬
汐尔sama
@xiersama123
164.7K 팬
zhoumi周觅조미
@zhoumi_419
945.2K 팬
南宫
@nangongOVO
482.1K 팬
绿帽俱乐部
@lvmao520u
417.5K 팬