面向对象(Object Oriented - OO)
设计模式(Design Pattern)
概念
、设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结
3个大类,23个设计模式
、创建型模式:对象实例化的模式
单例模式:确保某一个类只有一个实例,并且提供一个全局访问点
简单工厂模式:让子类来决定要创建哪个对象
抽象工厂模式:创建多个产品族中的产品对象
建造者模式:用来创建复杂的复合对象
原型模式:通过复制原型来创建新对象
、结构型模式:把类或对象结合在一起形成一个更大的结构
适配器模式:将原来不兼容的两个类融合在一起
桥接模式:将两个能够独立变化的部分分离开来
组合模式:将整体与局部(树形结构)进行递归组合,让客户端能够以一种的方式对其进行处理
装饰者模式:为对象添加新功能
外观模式:对外提供一个统一的接口用来访问子系统
享元模式:使用对象池来减少重复对象的创建
代理模式:控制客户端对对象的访问
、行为型模式:类和对象如何交互,及划分责任和算法
责任链模式:将事件沿着链去处理
命令模式:将请求封装成命令,并记录下来,能够撤销与重做
解释器模式:定义语法,并对其进行解释
迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素
中介者模式:将网状结构转变为星型结构,所有行为都通过中介
备忘录模式:保存对象的状态,在需要时进行恢复
观察者模式;状态发生改变时通知观察者,一对多的关系
状态模式:根据不同的状态做出不同的行为
策略模式:封装不同的算法,算法之间能互相替换
模板方法模式:定义一套流程模板,根据需要实现模板中的操作
访问者模式:基于稳定数据结构,定义新的操作行为
7大设计模式原则
、单一职责原则(SRP):一个类应该只有一个发生变化的原因
、开放封闭原则(OCP):软件实体应该对扩展开放,对修改关闭。是设计原则的核心
、里氏替换原则(LSP):子类可以扩展父类的功能,但不能改变父类原有的功能。是对子类型的特别定义
、接口隔离原则(ISP):客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上
、依赖倒置原则(DIP):程序要依赖于抽象接口,不要依赖于具体实现。简单说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合
、迪米特法则:一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解
、合成复用原则:要少用继承,多用合成关系来实现
4要素
、模式名称:用一两个词来描述模式的问题、解决方案和效果
、问题:描述了应该在什么情况下使用设计模式
、解决方案:描述了设计的组成成分,他们之间相互关系及各自职责和协作方式
、效果:描述了模式应用效果及使用模式应权衡问题
常用的设计模式:单列模式、简单工厂模式、抽象工厂模式、装饰者模式、代理模式、责任链模式、观察者模式
标签:OO,原则,对象,创建,模式,设计模式 From: https://www.cnblogs.com/wjswsjf/p/17455277.html