Head First Design Patterns

发布于 2024-09-02 19:22:21 字数 954 浏览 14 评论 0

如何定义模式

模式是某种情景下,针对某问题的某种解决方案。

  • 情景
    • 应用某个模式的情况,应该是会不断出现的情况
  • 问题
    • 想在某个情景下达到的目标,但也可以是某情景下的约束
  • 解决方案
    • 一个通用的设计,用来解决约束、达到目标

帮助记忆上述概念的方法

如果你发现自己处于某个情境下,面对着所欲达到的目标被一群约束影响着的问题,然而,你能够应用某个设计,克服这些约束并达到该目标,将你领向某个解决方案。

比如

  • 问题:我要如何准时上班
  • 情景:我的钥匙锁在车里了 | 搭地铁肯定要迟早了
  • 解决方案:打破窗户、进入车内、启动引擎,开车上班 | 打开手机、呼叫滴滴、上出租车,打车上班。

更多定义的细节:

  • 意图
  • 动机
  • 对比
  • 适用性
  • 举一反三

如何更加详细去定义和学习一个设计模式

  • 名称:用于学习与分享时共享词汇,概括性描述一个设计模式的作用
  • 分类:用于归纳设计模式的用途
  • 动机:给出了问题以及如何解决这个问题的具体场景
  • 结构:提供了图示,显示出参与此模式的类之间的关系
  • 参与者:描述在此设计中所涉及到的类和对象在模式中的责任和角色
  • 结果:描述采用此模式之后产生的效果:好与不好
  • 协作:告诉我们参与者如何在此模式中合作
  • 实现:提供了你在实现该模式时需要使用的技巧,以及应该小心面对的问题
  • 代码:提供实现的代码,对如何实现有所帮助
  • 已知应用:用来描述已经在真实系统中发现的模式例子
  • 相关模式:描述了此模式和其他模式之间的关系

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

不气馁

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

linfzu01

文章 0 评论 0

可遇━不可求

文章 0 评论 0

枕梦

文章 0 评论 0

qq_3LFa8Q

文章 0 评论 0

JP

文章 0 评论 0

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