Head First Design Patterns
如何定义模式
模式是某种情景下,针对某问题的某种解决方案。
- 情景
- 应用某个模式的情况,应该是会不断出现的情况
- 问题
- 想在某个情景下达到的目标,但也可以是某情景下的约束
- 解决方案
- 一个通用的设计,用来解决约束、达到目标
帮助记忆上述概念的方法
如果你发现自己处于某个情境下,面对着所欲达到的目标被一群约束影响着的问题,然而,你能够应用某个设计,克服这些约束并达到该目标,将你领向某个解决方案。
比如
- 问题:我要如何准时上班
- 情景:我的钥匙锁在车里了 | 搭地铁肯定要迟早了
- 解决方案:打破窗户、进入车内、启动引擎,开车上班 | 打开手机、呼叫滴滴、上出租车,打车上班。
更多定义的细节:
- 意图
- 动机
- 对比
- 适用性
- 举一反三
如何更加详细去定义和学习一个设计模式
- 名称:用于学习与分享时共享词汇,概括性描述一个设计模式的作用
- 分类:用于归纳设计模式的用途
- 动机:给出了问题以及如何解决这个问题的具体场景
- 结构:提供了图示,显示出参与此模式的类之间的关系
- 参与者:描述在此设计中所涉及到的类和对象在模式中的责任和角色
- 结果:描述采用此模式之后产生的效果:好与不好
- 协作:告诉我们参与者如何在此模式中合作
- 实现:提供了你在实现该模式时需要使用的技巧,以及应该小心面对的问题
- 代码:提供实现的代码,对如何实现有所帮助
- 已知应用:用来描述已经在真实系统中发现的模式例子
- 相关模式:描述了此模式和其他模式之间的关系
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论