设计模式—week3 总结
1.设计模式定义:
概述:
设计模式描述了一种问题的通用解决方案,且设计模式是一种可重复使用的解决方案。
设计模式的四个部分:
模式名称 - 由少量单词组成,助于我们表达我们的设计。
待解决问题 - 描述那种情形下需要用对应的设计模式,以及运行模式的环境。
解决方案 - 描述了组成设计的元素、它们的关系、职责、以及合作。但解决方案是抽象的,非具体实现。
结论 - 运用该设计模式的利弊。主要指对系统的弹性、扩展性、可移植性的影响。
2.设计模式分类
从功能分:
创建模式
对类实例化的过程的抽象。
结构模式
将对象或者类结合在一起,形成更大的类。
行为模式
对在不同对象之间划分责任和算法的抽象。
从方式分:
类模式
以继承的方式实现,静态的。
对象模式
以组合的方式实现,动态的。
3.设计模式之工厂模式
概述:
从功能分,工厂模式属于创建模式;从方式分属于类模式。它主要处理实例化同一类型的不同对象。
使用场景:
当对象的创建逻辑比较复杂,不只是简单的 new 一下就可以,而是要组合其他类对象,做各种初始化操作的时候,我们推荐使用工厂方法模式,将复杂的创建逻辑拆分到多个工厂类中,让每个工厂类都不至于过于复杂。
4.设计模式之单例模式
概述:
单例模式是属于创建模式,它主要是在需要全局一个类就一个对象时使用的。
一般实现:
无参构造函数私有化,防止new对象。
定义私有静态的单例对象,且根据需求是否初始化(new)。
提供get方法,返回该对象。
5.设计模式之适配器模式
概述:
适配器模式是属于结构型模式,主要是处理在接口不兼容的时候,采用适配器转化使用。
一般实现:
将不兼容的对象设置为适配器的属性,提供对应对方法。方法里的算法采用不兼容的对象的对象方法。
6.设计模式之模版方法模式
概述:
模版方法模式属于行为型模式,主要是实现功能的扩展。
一般实现:
它是通过“继承”的方法来实现扩展,基类复制算法的骨架与轮廓,子类复制算法的具体实现。
7.设计模式之策略模式
概述:
策略模式属于行为型模式,它是扩展功能的另一基本实现。
一般实现:
它是通过“组合”的方法来实现扩展,简言之对一个接口多个实现即多个策略,根据需要选择不同对策略(实现)
8.组合模式
概述:
组合模式属于结构型模式,它主要是聚合对象,根据需求实现功能。
一般实现:
将要聚合对对象定义为成员变量,实现对应功能。
9.装饰器模式
概述:
装饰器模式属于结构型模式,它主要用于对对象对装饰,扩展现有对象对功能,
一般实现:
定义接口,所有装饰器类都实现该接口。在装饰器类里执行方法后,要调用传进来的装饰类的对应方法,实现链条式装饰。
评论