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

    观察者模式

    观察者模式 观察者模式:也叫订阅模式,在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有的对象自动收到通知 被观察者发生状态改变,观察者响应 场景:将不同行为进行解耦,使得类职责更加单一,更加符合开闭原则,高内聚,低耦合,来控制代码的复杂度。 产品设计:邮件订阅,EventBus,And

  • 设计模式

    享元模式

    享元模式 享元模式:共享对象,复用对象 比如,棋盘里的象棋类,只用建立三十个,就可以在棋盘里满地跑,唯一变动的是坐标,假如有10w个棋盘,120w琪子,其实只建立了120w个坐标和30个象棋类,大大减少了内存 在比如 文字编辑琪,变动的只是文字,里面的格式类是可以复用的,颜色,大小,字体组成的风格类

  • 设计模式

    组合模式

    组合模式 组合模式:将一组对象组织成树结构,来表示整体和部分的层次结构 ,利用树形结构,可以递归处理子树,依次简化代码 比如 文件夹与文件 可以抽出公共的父类,抽象文件大小与文件数量,使得文件与文件夹继承 文件夹里在拥有一个文件的list来添加文件 类似的场景还有 部门与员工,部门拥有员工,可以组织

  • 设计模式

    门面模式

    门面模式 门面模式:也叫外观模式,为子系统提供一组统一的接口,定义一组高层接口让子系统更易用 例子 比如A系统提供a,b,c,d四个接口,其中一个业务需要使用a,b,d接口,此时我们可以将这三个接口包装成一个接口,让客户端更好的调用,为什么三个接口,是为了复用和遵循接口单一职责 应用场景 : 1.解

  • 设计模式

    适配器模式

    适配器模式 通过继承或者组合的方式将一个不兼容的接口转换为兼容的接口 接口不多,继承和组合都可以用 接口多 很多Adaptee与ITarget定义接口大部分相同 用继承方式 类适配 接口多 很多Adaptee与ITarget定义接口大部分不同 用组合方式 对象适配 应用场景 1.封装有缺陷的接口设计

  • 设计模式

    装饰模式

    装饰模式 装饰类通过继承原始类和依赖依赖原始类来拓展原始类的功能,而且还可以嵌套多个装饰类 应用场景:为对象动态添加功能

  • 设计模式

    桥接模式

    桥接模式 桥接模式:将抽象部分与实现部分分离,使他们都可以独立的变化 假如你有笔的类 笔分铅笔 毛笔 钢笔 而且每支笔都有自己的颜色 红绿蓝等,我们就可以把颜色单独分离出来,使用组合的方式来表示什么颜色的什么笔 感觉像是把复杂的业务抽出类来,分别实现自己的功能,再用组合 在举个例子 你的一个功能类,

  • 设计模式

    代理模式

    代理模式 代理模式: 把方法抽成接口,使用具体实现类,实现接口,代理类也实现接口 + 依赖具体实现类,委托具体实现类,实现接口 动态代理,通过java API 动态创建代理类,减少类的创建 代理模式的主要场景在于关注业务而非关注具体实现,使得业务代码更加清晰,明朗,一些独立复杂的业务都可以通过代理模

  • 设计模式

    建造者模式与原型模式

    建造者模式与原型模式 构造者模式:构建比较复杂,参数比较多是可使用,用静态内部类,build(),帮助自己初始化类 原型模式:当一个类比较难以初始化时,复制出宁外一个类,可以使用原型,java Object clone是浅拷贝,只复制索引,不创建真正的类,若使用深拷贝可以递归创建,或者使用序列化+反

  • 设计模式

    工厂模式

    工厂模式 创建类用的 场景: 1.代码中存在if-else分支判断,动态创建对象 2.对象创建比较复杂,例如需要组合其他类,初始化比较复杂 1.简单工厂: 类图 除了if-else的方式还可以用map提前吧对象准备好 缺点,拓展类时,不符合开闭原则,不容易拓展,if-else逻辑比较复杂时,判断方法

avatar

心偏两寸半

这就是我

  • 179

    文章

  • 11

    分类

  • 78

    访问量

  • 2023-08-13

    建站天数

avatar

心偏两寸半

这就是我

  • 179

    文章

  • 11

    分类

  • 78

    访问量

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