23种设计模式(前言,介绍)

设计模式

一、前言

学设计模式主要是提升自己,提高写代码的水平和看代码的水平
基础:
有java基础
学习过SSM springboot [会有源码分析,学过更好]

我的学习资料:
视频地址:
https://www.bilibili.com/video/BV1mc411h719 狂神23种设计模式,先看的狂神,但他停更了,想继续了解就去了尚硅谷的视频
https://www.bilibili.com/video/BV1G4411c7N4 b站尚硅谷官方

更新方式: 一个设计模式一个博 [大概…]

注意: 写的不好的地方请指出

二、什么是设计模式

设计模式(Disign Pattern),解决问题的套路

是用来提高代码的
低耦合性,高内聚性,可维护性,可扩展性,重用性,灵活性
的解决方案

人称GoF设计模式,F4创建

设计模式的本质是面对对象原则的实际运用,是对类的封装性,继承性和多态性以及类的关联性和组合关系的充分理解

设计模式在软件中哪:面向对象(OO)=>功能模块[设计模式+算法(数据结构)]=》框架[使用到多种设计模式]=》架构[服务器集群]

三、GoF23

  • 创建型模式:
    单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式
  • 结构型模式:
    适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式
  • 行为型模式:
    模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式,访问者模式

四、OOP七大原则

  • 开闭原则 ocp:扩展开放,对修改关闭
    编程中最基础,最重要的的设计原则
    经量通过扩展软件实体行为来实现变化,而不是通过修改已有的代码变化
  • 里式替换原则:继承必须确保超类所拥有的性质在子类中依然成立
    子类中尽量不要重写父类方法,继承使两个类的耦合性增强了,在适当的情况下可以通过继承更通俗的基类或使用聚合,组合,依赖的方式解决问题
  • 依赖倒置原则:要面向接口编程,不要面向实现编程
    1)高层模块不应该依赖底层模块,二者都应该依赖抽象
    2)抽象不应该依赖细节,细节应该依赖抽象
  • 单一职责原则:控制类的粒度大小,将对象解耦,提高其内聚性[一个类做一件事]
    反单一职责原则:当类中的方法数量足够少,可以在方法级别保持单一职责原则
  • 接口隔离原则:要为各个类建立它的需要的专用接口
  • 迪米特法则:只要与你的直接朋友交谈,不跟”陌生人“说话
    类与类的关系越密切,耦合性越大
    出现在成员变量,方法参数,方法返回值中的类为直接好友
    出现在局部变量中的类不是直接好友
    陌生的类最好不要以局部变量的形式出现在类的内部
  • 合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现

五、设计原则的核心思想

  • 找出可能变化之处,把他们独立出来,不要和不需要变化的代码混在一起
  • 针对接口编程,而不是针对实现编程
  • 为了交互对象之间的松耦合设计而努力

你可能感兴趣的:(23种设计模式)