Zuocheng Liu‘s IT Blog
设计模式是如何诞生的?
- 领域中有些东西是不变的,有些是不停变化的
- 不变的东西和变化的东西之间,总存在着某些特定的关系,符合某种特定的规则和规律
- 因为这些特定关系,经验丰富的设计者总在做重复的设计,也不断地复用自己的设计。他们为了设计的通用,也提出了非常好设计
- 没有经验的设计者,却察觉不到这些关系,做不出好的设计
- 经验丰富的设计者向没有经验的设计者传授好的、被重复使用的设计和经验,并讲述那些事物之间某些亘古不变的关系,这些就是设计模式的雏形
- 将这些关系和设计进行整理和总结之后,设计模式诞生了。
设计模式是什么?
- 是对程序设计人员经常遇到的设计问题的可再现的解决方案(The Smalltalk Companion)
- 建立了一系列描述如何完成软件开发领域中特定任务的规则
- 关注与复用可重复出现的结构设计方案
- 提出了一个发生在特定设计环境中的可重复出现的设计问题,并提供解决方案
- 识别并确定类和实例层次上或组件层次上的抽象关系
设计模式的作用?
- 让开发人员能够控制系统的复杂度,不至于失控
- 增强设计的可伸缩性/可扩展性(Scalable/scalability)
- 增强设计的复用
- 设计领域的通用语言(传递、沟通),设计模式具有很强的业务表述力
初学者掌握设计模式的方法
- 模仿 – 最快的方法,学习和内化都比较迅速
- 学习书本 – 比较而言学习较快,内化很慢
- 不断重构自己的代码,自己去领悟设计模式 – 学习效率最慢,但是理解最透彻,内化效果最好的方法
- 团队讨论、交流共享 – 学习较快、内化较快,但是时间成本很高,而且团队讨论往往不是高频率的活动
如何提升自己使用设计模式的能力
- 学习设计模式的使用场景,简单地使用常用的设计模式
- 改造设计模式,使之更好地满足业务场景
- 总结业务场景,创建和组合新的设计模式
- 将重复使用的设计模式及设计模式组合,创建框架。框架形成后,完善和丰富它。
- 总之,把设计模式使用好,离不开经验,离不开积累
- 在经验和积累之上,再创新。发现和创造新的模式、新的思想,并将这些新东西注入框架。