设计模式——简介

设计模式遵循的原则

  1. 开闭原则:扩展开放,修改关闭
  2. 立氏原则:子类能扩展父类的功能,但是不能修改父类的功能
  3. 单一职责原则
  4. 接口隔离原则
  5. 依赖倒置原则
  6. 合成复用原则:尽量减少继承对象,使用组合
  7. 迪米特原则:两个软件不需要发生直接调用,而是通过第三方调用

创建型模式

单例模式:一个类只有一个实例 ,饿汉式,懒汉式(双锁),静态内部类,枚举类
原型模式:一个创建好的实例作为原型,通过复制该原型对象创建一个和原型相同或相似的
简单工厂:创建一个产品对象的工厂接口,将实际对象的创建工作放在子类工厂中
工厂方法:用户只需要知道工厂名可以创建工厂,一个工厂对应一个具体产品
抽象工厂:多个等级的产品,产品簇
建造者模式:将一个复杂对象构造与表示分割开

结构模式

代理模式:客户端与目标对象中增加一个中介,保护目标对象和增强目标对象
适配器模式:将一个类的接口转换成另一个接口
桥接模式:将抽象和现实分离
装饰器模式:在不改变对象的结构下,动态给对象增加一些职责
外观模式:为复杂子系统提供一致接口
享元模式:共享已经存在的对象
组合模式:将对象组合成树状的层次结构

行为模式

模板模式:算法的步骤延迟到子类完成
策略模式:定义一系列算法,封装可相互替换的对象
命名模式:将一个请求封装为对象,将发出请求和执行请求隔离开
责任链模式:所有请求的请求者通过前一个对象记住下一个对象
状态模式:把有状态的对象的复杂逻辑判断提取到不同对象中,允许状态对象在内部状态改变行为
观察者模式:多个对象存在依赖关系,当一个对象发生改变的时候,所有依赖的对象被通知更新
中介者模式:定义一个中介对象封装不同对象的调用
迭代器模式:定义一个对象来顺序访问聚合对象的一系列数据,并不暴露内部数据结构
访问者模式:将对于某种数据元素的操作分离出来封装成独立的类
备忘录模式:在不破坏封装性的前提下,记录内部状态
解释器模式:给对象定义一个语言,并定义语言的文法表示,设计一个解释器用来解释句子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值