关于如何灵活运用设计模式的问题

发布于 2022-09-01 12:29:13 字数 115 浏览 16 评论 0

去年看过一遍设计模式,最近将一些比较常见的又复习了一遍,但是总感觉还是不能将这23种设计模式做到融会贯通,举一反三,想问各位,如何训练自己将设计模式做到灵活运用,信手拈来的地步?

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

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

发布评论

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

评论(4

心意如水 2022-09-08 12:29:13
  1. 读设计模式(Design Pattern)的过程中,如看到 Template Method 时「会心一笑」,这个我已经用过了,原来是有理论基础的啊 :D
  2. 工作多久了?用什么编程语言(模式的实现有时会信赖语言的特性)?做哪种类型的项目?是否阅读过开源的代码?
  3. 纸上得来终觉浅,绝知此事要躬行。只读书和复习还不够,如果工作中有机会实践最好,否则就自己动手做个东东,试着把学到的知识用上。

最后,开始实践之后建议开始学习面向对象设计(OOD)的书,会加深你的理解,可以把相关的知识融汇贯通起来。
如:

绝影如岚 2022-09-08 12:29:13

设计模式是一群有着丰富编程经验的人根据实际情况,抽象出来的一个模式,所以,你大概得

1.积累足够的编程经验
2.掌握从具体到抽象的能力

这样,你学了设计模式之后,就可以很好的根据实际情况,挑选最优的模式。

迷爱 2022-09-08 12:29:13

理解设计模式,不是具体理解设计模式是怎么实现的,而是理解需要某个设计模式存在的场景,或者说某个设计模式是解决什么场景下的问题,这个就要你具备有“场景”的概念,如果没有“场景”也就无从谈起设计模式,所以最重要的在于你要抽象出场景的概念。
还是拿一个具体的例子来说,简单就拿单例模式来说:

单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”

那么单例模式的场景是什么?

首先我们不考虑单不单例的问题,我们认为所有的类都可以衍生出来多个实例,我要用实例的时候就直接衍生,我们总会发现,我们衍生出来的实例会分成2种类型:

  1. 衍生出的实例各个相同
  2. 衍生出的实例都有各自不同的特征

那么对于1的类型,我们不仅要问,有必要每次都衍生出新的实例么?可以不可以只衍生一个实例反复使用呢?

ok,单例的场景出来了,就是要避免衍生出很多个相同的实例,当你遇到这个情况时,你就可以使用单例模式设计。

其他的设计模式都可以通过类似的还原场景来理解,毕竟先是有问题,后有的解决方案。

建立这个场景的概念是需要不断的实践出来的,还没有场景的概念的时候,就先别说设计模式了。

云裳 2022-09-08 12:29:13

我也是在学习这些东西,java的设计模式,我感觉看了设计模式后,再去看源码要好一些(我指的源码是Android的,因为我是做Android开发的),因为源码中的又很多的思想都是使用的设计模式中的,这样看才能在以后的编码过程中融会贯通的使用这些设计模式,到时候你不自觉的就可以使用这些模式了。。

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