• 全部
  • 日记2
  • 设计模式33
  • Android40
  • Java43
  • Flutter1
  • LeetCode题解23
  • 写作5
  • 默认分类0
  • 练车0
  • 系统18
  • 开发120
  • 设计模式

    中介者模式

    中介者模式 将多对多的对象依赖装换为1对多的对象依赖关系 有副作用,中介者类,可能会很大,很臃肿 与观察者模式的区别: 1.观察的对象通常只有一个,观察者与被观察者 2.观察者的中介类只提供管道,不处理细节

  • 设计模式

    解释器模式

    解释器模式 解释器模式:为某个语言定义他的语法,并定义一个解释器来处理这个语法

  • 设计模式

    命令模式

    命令模式 命令模式:命令模式将请求(命令)封装为一个对象,这样可以使用不同的请求参数化其他对象(将不同的对象依赖注入到其他对象),并且能够支持请求(命令)的队列,记录日志。撤销等(附加控制)功能 public interface Command { void execute(); } publ

  • 设计模式

    备忘录模式

    备忘录模式 备忘录模式:用于业务流程的撤销与恢复 在不违背封装原则的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便之后恢复对象为先前的状态 实现方式有很多 有全量备份和增量备份 切记不要暴露自己的set方法,做text备份时

  • 设计模式

    访问者模式

    访问者模式 访问者模式:允许一个或者多个操作应用到一组对象上,解耦操作和对象本身 通过访问者的接口来调用到具体的方法访问者类上,实现类与自身方法解耦,更加符合开闭原则,增加了拓展性,本来不用访问者也是可以的,但是Java语言的方法重载不支持多态 这种一组对象的操作情况其实还可以用工厂方式来解耦,定义

  • 设计模式

    迭代器模式

    迭代器模式 迭代器模式:也叫游标模式,通常用来遍历对象,在容器里面很常见 目的:像树图这种数据结构用户一般写遍历很容易出错,我们进而对他进行封装,统一实现,方便用户操作与选择,也是一种解耦和增加拓展性的方式 为什么ArrayList 的迭代器遍历时,不允许插入删除,因为迭代器使用的是下标记录数组此时

  • 设计模式

    状态模式

    状态模式 状态机: 状态机有 3 个组成部分:状态(State)、事件(Event)、动作(Action)。其中,事件也称为转移条件(Transition Condition)。事件触发状态的转移及动作的执行 简单来说:就是我们有这样一组业务,通过遇到一组时间,发生一组动作,从而转变了状态 通常实现

  • 设计模式

    责任链模式

    责任链模式 责任链模式: 把要处理消息的对象串成一条链,让链上的对象依次处理消息 通常责任链的实现是通过链表结构,或者容器来实现,目的则是为了解耦,满足开闭原则,增加拓展性,可以通过配置文件动态来加载拦截对象,使得代码更加灵活

  • 设计模式

    策略模式

    策略模式 策略模式:定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码) 具体实例,一般是抽象接口,不同策略类继承实现接口,策略类多的话可以用工厂统一管理,创建 场景: 1.一般是要有if判断类型使用不同策略能达

  • 设计模式

    模版模式

    模版模式 模版模式:在父类中定义模版,执行抽象,子类继承实现 官方译文: 模版方法在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。 主要是为了复用和拓展,复用模版,拓展函数实现 和同步的接口回调很相似,接口回调比模版更加灵活,无需继承,即调即用 同一个类里面不同模版的抽象方法必须实现。

avatar

心偏两寸半

这就是我

  • 179

    文章

  • 11

    分类

  • 78

    访问量

  • 2023-08-13

    建站天数

avatar

心偏两寸半

这就是我

  • 179

    文章

  • 11

    分类

  • 78

    访问量

  • 首页
  • 关于我
  • 控制面板
请您轻一点,我是很昂贵的机器人哦! O.O