怎样才算精通「设计模式」?

发布于 2022-09-04 17:26:29 字数 202 浏览 18 评论 0

在互联网领域编程多年,最常听的是「xx语言设计模式」这样的说法,一般说的都是最最常用的、烂大街的名词(观察者、委托、面向对象、MVC……)

记住了很多种模式名字,但是面对新需求的时候,还是不能用「设计模式」的思维展开架构设计(经常是马后炮,程序写了一半才想到应用某个设计模式)

问:怎样才算真正掌握了「设计模式」?行业里有多少人掌握了?(用的明白,讲得清楚)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

偷得浮生 2022-09-11 17:26:29

剑法的最高境界是手中无剑,心中也无剑。而使用设计模式也是一个道理,心中不曾计划使用设计模式,写出的代码里却处处是设计模式。

彩虹直至黑白 2022-09-11 17:26:29

设计模式其实就是程序员的世界观,大部分靠经验和实践。并不像算法那样你学了马上就能用的很好。

就好比学了几个商业运营模型就往公司里套一样,那不叫管理,只是学生味的实践而已。

世界观这东西,又怎么能说谁的好谁的多呢。 说多了也不招新人待见,所以就说这些吧。

乖乖兔^ω^ 2022-09-11 17:26:29
  1. 任何技能都是从模仿开始,写代码尤其如此,所以建议先把所有的设计模式用自己擅长的面向对象语言实现一遍。

  2. 写的过程中不甚理解的地方可以不细究,后面在项目中有使用的时候再去细看。

  3. 推荐一本设计模式的书《大话设计模式》,国人写的挺不错的。

明天过后 2022-09-11 17:26:29

我觉得自己能写出很多人用的类库基于就等于精通了,其实在我们写代码的过程中或多或少的都使用到了设计模式,只不过自己没留意罢了。写代码不用一味的追求设计模式。符合项目需求易读的健壮的有弹性的代码就是好代码。
设计模式只是前人总结出来的理论,关键还在实践,也就是说即便看书看的很透彻代码写的少还是无用,关键在于静下心来多读源码多反思,重要的自己在底下多练习。

可可 2022-09-11 17:26:29

Modern C++里的一段话应该能解决你的疑惑:

Good, seasoned designers know what choices will lead to a good design. For a beginner, each design choice opens a door to the unknown. The experienced designer is like a good chess player: She can see more moves ahead. This takes time to learn. Maybe this is the reason why programming genius may show at an early age, whereas software design genius tends to take more time to ripen.

泛泛之交 2022-09-11 17:26:29

所谓精通设计模式,实际上来说就是能够根据开发的实际情况,灵活的去运用各种设计方法,去提高代码的稳定性、可复用性。如果单纯是为了使用设计模式而去使用,结果只是本末倒置而已。比如说你开发一个很小的项目,你非要里三层外三层强行设计模式,好不好用暂且不说,增加了代码的复杂度和维护成本到是真的,把一个简单的类库包装到极致,也没什么意义呀,还是要根据需求来。
不过既然要精通我觉得可能需要以下几点:

  1. 读过设计模式的相关书籍,你没读过,别人说一种模式你根本都不知道,谈何精通。这列推荐几本书
    《设计模式》GOF版,这个我觉得可以算作是经典。《大话设计模式》适合初学者。

  2. 有过很长时间的代码编写的经验,单纯纸上谈兵没有什么意义。

  3. 阅读研究第三方类库,优秀的开源类库基本都会使用到很多经典的设计模式。

  4. 最后强调一点,设计模式是解决问题的一种方法、手段,不要为了用而去用。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文