第三周笔记
1、设计模式
(1)应用在程序中或框架中复用代码
(2)设计模式分为创建型模式、结构型模式和行为型模式
(3)设计模式的原则:OCP、DIP、LSP、SRP、ISP
(4)OOD的目标:实现强内聚、低耦合的程序
2、设计模式定义
什么是设计模式?
• 每一种模式都描述了一种问题的通用解决方案。这种问题在我们的环境中,不停地出现。
• 设计模式是一种可重复使用的解决方案。
一个设计模式的四个部分:
• 模式的名称 - 由少量的字组成的名称,有助于我们表达我们的设计。
• 待解问题 - 描述了何时需要运用这种模式,以及运用模式的环境(上下文)。
• 解决方案 - 描述了组成设计的元素(类和对象)、它们的关系、职责以及合作。但这种解
决方案是抽象的,它不代表具体的实现。
• 结论 - 运用这种方案所带来的利和弊。主要是指它对系统的弹性、扩展性、和可移植性的影响。
3、设计模式分类
从功能分
• 创建模式(Creational Patterns)
Ø 对类的实例化过程的抽象。
• 结构模式(Structural Patterns)
Ø 将类或者对象结合在一起形成更大的结构。
• 行为模式(Behavioral Patterns)
Ø 对在不同的对象之间划分责任和算法的抽象化。
从方式分
• 类模式
Ø 以继承的方式实现模式,静态的。
• 对象模式
Ø 以组合的方式实现模式,动态的
为什么使用单例模式
singleton 模式保证产生单一实例,就是说一个类只产生一个实例。使用 singletong 有
两个原因:
• 是因为只有一个实例,可以减少实例频繁创建和销毁带来的资源消耗;
• 是当多个用户使用这个实例的时候,便于进行统一控制(比如打印机对象)。
前者是性能需求,后者是功能需求
适配器模式
系统需要使用现有的类,而这个类的接口与我们所需要的不同
例如:我们需要对 List 进行排序,但是我们需要一个 Sortable 接口,原有的 List 接口不能
满足要求。
评论