设计模式
设计模式的定义
什么是设计模式?
每一种设计模式就是一种问题的通用解决方案,一种问题会重复出现,解决方案也就可以重复使用,设计模式就是一种可以重复使用的解决方案。
设计模式由哪几部分组成?
模式的名称:由少量的字组成,有助于表达我们的设计。比如Adapter就知道是适配器,Observer就知道是观察者模式。
待解问题:描述了何时需要运用这种模式,以及运用模式的环境(上下文)。
解决方案:描述了组成设计的元素(类和对象)、它们的关系、职责以及合作。但这种解决方案是抽象的,它不代表具体的实现。
结论:运用这种方案所带来的利和弊。主要是指它对系统的弹性、扩展性、和可移植性的影响。
常用的设计模式
创建型
单例设计模式
主要要解决的问题:
全局唯一资源,天生适合单个对象方便统一管理,如配置,打印机
类本身设计为是无状态的,不需要过多的创建对象,浪费系统资源
简单工厂设计模式
解决的问题、常用场景:
屏蔽类的创建细节
结构型
装饰器模式
解决的问题、常用场景:
不修改类的情况下,对类进行功能的加强
模板模式
解决的问题、常用场景:
代码的复用、扩展
策略模式
解决的问题、常用场景:
避免冗长的 if-else 或 switch 分支判断
其他设计模式待后续继续学习理解后补充。
总结
之前学习设计模式,总是学完就忘了,记忆不太深刻,实际工作中有使用过一些设计模式,但是也不是很清楚为什么使用,通过这次学习,最大的收获就是理解到了,我们学习设计模式,最重要的是要了解这种设计模式是要解决哪一类问题的,为什么解决这种问题需要用这种设计模式,这种设计模式有什么优势。再的就是学习这种设计模式的实现,以及运用。只有深刻理解设计模式解决哪种问题,下次遇到问题,才能快速地想起对应的设计模式进行解决。
评论