设计模式归纳

1.设计模式是什么?:

由前人在实际工作中反复使用,总结得出的经验, 形成了一些模式。


2.6大设计原则

1.单一职责原则
2.里氏替代原则:(子类可以拓展父类, 但是不能改变父类原则)
3.依赖倒置原则(面向接口编程)
4.接口隔离原则(接口中方法尽量少)
5.迪米特法则:对其他对象保持最少了解
6.开闭原则:对拓展开放, 对修改关闭。


3.具体设计模式介绍(一共23种)

创建型模式: 工厂模式
结构型模式: 代理模式,适配器模式,装饰器模式
行为型模式:关注系统中对象间相互切换, 观察者模式, 责任链模式, 模板方法


4.单例模式:

核心是要保证一个类只有一个对象在当前容器中, 而且需要提供一个实例全局的访问方法。
实现单例的方式:
饿汉式: 创建一个对象的时候, 加载就创建, 构造方法私有化, 提供静态的获取变量的方法。
懒汉式: 在全局静态方法中做判断, 需要用到的时候才会创建。外部if判断是否为空 , 加锁。
里面再次判断一次是否为空。


简单工厂模式:

简单工厂模式又称为静态工厂模式,
在这里插入图片描述

简单工厂模式实现简单, 但是对于新产品拓展无能为力, 不修改代码没法拓展。

工厂方法模式:
为了避免简单工厂模式缺点, 不完全满足ocp, 工厂方法模式和简单工厂模式最大的不同在于,
简单工厂模式只有一个,而工厂方法模式有一组实现了相同接口的工厂类。
在这里插入图片描述


代理模式:

代理模式作用, 增强我们目标对象功能, 代目标对象去处理一些业务处理逻辑。
2.实现方式:
静态代理
jdk代理模式:目标对象必须实现相关接口,
cglib代理:目标对象不管有没有实现相关接口, 都可以使用, 用到继承类关系。


模板模式:

父类中定义了模板结构, 去子类中具体实现。


观察者模式:

本质就是对象之间的一种一对多的依赖关系,
当其中某个对象状态发生变化的时候, 其他依赖的相关对象都可以获得通知并且做出更新。
监听器事件


装饰器模式:

本质是能够动态的给一个对象增加一些额外的功能, 同时不会改变其结构。
mybatis中缓存模块。


策略模式:

定义一系列的算法, 将每个算法都封装起来,使其相互之间可以替换。


适配器模式:

是将一个类的接口变成客户端所期望的另一个接口, 从而使原本因为接口不匹配
而无法一起工作的两个类能够一起工作, 不会破坏原有的一些信息。
myBatis中的日志框架。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙仲谋111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值