南昌装修公司,宝塔 wordpress优化,网站什么做,it培训学校it培训机构什么是设计模式
设计模式是软件开发过程中面临的通用问题的解决方案。 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性
按使用目的分类
创建型–主要用于创建对象
单例模式-某个类只能有一个实例#xff0c;提供一个全局的访问点工厂方法模式-创建…什么是设计模式
设计模式是软件开发过程中面临的通用问题的解决方案。 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性
按使用目的分类
创建型–主要用于创建对象
单例模式-某个类只能有一个实例提供一个全局的访问点工厂方法模式-创建对象而不将创建逻辑暴露给客户端抽象工厂-也称为工厂的工厂由一个工厂创建其他工厂建造者-封装一个复杂对象的构建过程并可以按步骤构造原型-通过复制现有的实例来创建新的实例
行为型–主要用于描述对类或对象怎样交互和怎样分配职责
访问者—在不改变数据结构的前提下增加作用于一组对象元素的新功能模板方法 --定义一个算法结构而将一些步骤延迟到子类实现策略 --定义一系列算法把他们封装起来并且使它们可以相互替换状态 --允许一个对象在其对象内部状态改变时改变它的行为观察者事件发布订阅模式 --对象间的一对多的依赖关系备忘录 --在不破坏封装的前提下保持对象的内部状态中介者 --用一个中介对象来封装一系列的对象交互迭代器 --一种遍历访问聚合对象中各个元素的方法不暴露该对象的内部结构解释器 --给定一个语言定义它的文法的一种表示并定义一个解释器命令 --将命令请求封装为一个对象使得可以用不同的请求来进行参数化责任链–将请求的发送者和接收者解耦使的多个对象都有处理这个请求的机会
结构型–主要用于处理类或对象的组合
适配器–将一个类的方法接口转换成客户希望的另外一个接口桥接模式–将抽象部分和它的实现部分分离使它们都可以独立的变化组合模式–将对象组合成树形结构以表示“部分-整体”的层次结构装饰器–动态的给对象添加新的功能外观—对外提供一个统一的方法来访问子系统中的一群接口享元模式–通过共享技术来有效的支持大量细粒度的对象代理模式–为其他对象提供一个代理以便控制这个对象的访问
按使用范围分类
类模式–处理类和子类之间的关系这些关系通过继承建立
工厂方法模式类-适配器模板方法解释器
对象模式–处理对象间的关系这些关系在运行时刻变化
抽象工厂建造者原型单例模式对象-适配器桥接模式组合模式装饰器外观享元模式代理模式责任链命令迭代器中介者备忘录观察者状态策略访问者
设计模式六大原则
单一原则
一个类只负责一项职责尽量做到类只有一个行为原因引起变化 业务对象BO business object、业务逻辑BL business logic拆分
里氏替换原则
子类可以扩展父类的功能但不能改变原有父类的功能 目的增强程序的健壮性。实际项目中每个子类对应不同的业务含义使父类作为参数传递不同的子类完成不同的业务逻辑
依赖倒置原则
面向接口编程通过接口作为参数实现应用场景 依赖于抽象而不依赖于具体。 抽象就是接口或者抽象类细节就是实现类 依赖倒置原则定义 上层模块不应该依赖下层模块两者应依赖其抽象 抽象不应该依赖细节 细节应该依赖抽象 接口负责定义public属性和方法并且申明与其他对象依赖关系抽象类负责公共构造部分的实现实现类准确的实现业务逻辑
接口隔离
建立单一接口扩展为类也是一种接口一切皆接口。 使用多个隔离的接口比使用单个接口要好。还是一个降低类之间的耦合度。 降低依赖降低耦合。 定义 客户端不应该依赖它不需要的接口 类之间依赖关系应该建立在最小的接口上
迪米特原则
最少知道原则尽量降低类与类之间的耦合 一个对象应该对其他对象有最少的了解 即一个实体应当尽量少的与其他实体之间发生相互作用使得系统功能模块相对独立
开闭原则
用抽象构建架构用实现扩展原则 开闭原则就是说对扩展开放对修改关闭。 一个软件实体通过扩展来实现变化而不是通过修改原来的代码来实现变化。 实现一个热插拔的效果。 开闭原则是对软件实体的未来事件而制定的对现行开发设计进行约束的一个原则