设计模式总结

 

设计模式基本原则

原则1:开放封闭    

原则 2:单一职责

原则3:里氏代换:能放父类的地方,一定要能放子类

原则4:依赖倒置具体不

原则5:接口隔离:不要创建

原则6:迪米特:尽量减少类之间耦合

1 简单工厂模式

工厂创建产品直接在方法中进行创建

2 工厂方法模式

把工厂抽象出来 分支处具体的抽象工厂

3 抽象工厂模式

把工厂抽象出来 产品也进行抽象

4 职责链模式

当出现一个请求时,请求对可响应的类进行向上执行,如果此层可处理,则进行处理,不然则向上传递请求,同一链条的类的执行方法使用接口,:filter,interceptor

5 命令模式

为对象创建command封装类, command类发送命令,调用被封装类的方法,对command可再进行封装出执行类 Executor.execute(Command command),:MessageQueue Message Handler

6 状态模式

对象有不同的状态,状态不同时执行的动作也不同

7 迭代模式

对对象的集合属性进行遍历,例:iterator

8 代理模式

让对象的方法交给别人代理执行 称为aop,:cglib和proxy

9 观察者模式

当被观察者中的被观察方法执行时,调用观察者的方法,:listener

10原型模式

当有对象存在时通知这个已存在的对象复制出一个属性相同的对象,:clone以及序列化

11建造者模式

创建对象时,使用对象的build类,对对象的属性设置进行封装,:Dialog.builder  可对builder再进行封装成director

12装饰模式

创建新类对已有的类功能进行扩展,:BufferrFileOutputStream

13外观模式

把功能封装起来提供给人使用,:voiddo(){b.do;c.do}

14组合模式

继承或对象包含另一个对象的引用 主对象消亡被组合对象也会消亡

聚合:主对象消亡对被组合对象没有影响

15备忘录模式

对对象的操作进行记录  让用户可以回归到之前的状态,:commit() rollback()

16 策略模式

把算法进行封装

17 享元模式

常量

18 模板模式

模板类定义功能的具体实现流程 但实现步骤并没有实现

19 解释器模式

根据类所需的文法对象创建数据对象 由类自己对数据对象进行解析 :setData(Map)

20 单例模式

饿汉氏:程序一运行就初始化  如不使用则浪费内存,线程安全

懒汉式:当需要使用时再进行初始化  减少内存,非线程安全

内部类 当需要使用时再初始化 线程安全推荐使用

21 适配器模式

模块要使用某接口 但模块使用的方法与接口不符合,创建适配器实现接口,在适配器实现的接口方法中调用模块方法例:otg线把usb接口转换成手机充电口

22 中介者模式

把对象传递给中介者, 在中介者里面进行交互

23 访问者模式

24 桥接模式

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值