设计模式学习笔记

工厂方法、抽象工厂

工厂方法是将生产产品(new一个实例)的过程交给工厂,需要某个产品时直接向工厂要,不必自己生产(自己new一个实例时可能需要设置很多属性,所以把这个工作交给工厂),一个工厂只能生产一类产品;

抽象工厂将工厂进行了抽象,一个工厂可以生产多个类别的产品。


装饰模式、外观模式、代理模式、桥接模式、中介模式
装饰模式需要将被装饰的实例传给装饰者;
外观模式是将总是一起做的事情放统一到一个函数中,由这个函数去调用具体要做的事情,类似于把事情再抽象一层;
代理模式则由代理者全权代理;
桥接模式是引入一座桥,通过桥来达到某个目的,比如寄快递时我们把包裹给快递公司,同时告诉快递公司要寄送到哪里就可以了,而不用关心具体是怎么运送的,这里的快递公司就相当于桥;(JDBC)
中介模式是中介者Mediator手中持有对应的资源(类的实例),当我们需要这些资源时(需要调用实例的某些方法)通过向中介者申请(调用中介者的方法)。

单列模式、享元模式
单列模式是每个客户端调用的都是同一个实例;
享元模式是事先初始化一定数量的实例,其中一个实例同时只能被一个客户端使用,当调用结束之后,其他客户端又可以使用这个实例了,也就是说每个实例都可以重复利用。(连接池)

模板方法
通过继承实现的多态。

观察者模式
通过接口实现回调。

责任链模式
类型A的实例a1可以持有类型A的另一个实例a2,当调用a1的某个方法method()时,a1.method()自己处理完后,如果存在a2,则调用a2.method。(拦截器)

状态模式
根据不同的状态(比如某个属性变量的值)不同,表现出来的行为不同(调用函数时得到的结果或执行的过程不同)。

访问者模式
适合数据结构相对稳定,但是算法容易变化的系统,反之则不适合。

解释器模式

给解释器Expression一个上下文Context,Expression从Context中获取对应的值来进行计算(将Context解释出来)。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值