gball个人知识库
首页
基础组件
基础知识
算法&设计模式
  • 操作手册
  • 数据库
  • 极客时间
  • 每日随笔
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 画图工具 (opens new window)
关于
  • 网盘 (opens new window)
  • 分类
  • 标签
  • 归档
项目
GitHub (opens new window)

ggball

后端界的小学生
首页
基础组件
基础知识
算法&设计模式
  • 操作手册
  • 数据库
  • 极客时间
  • 每日随笔
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 画图工具 (opens new window)
关于
  • 网盘 (opens new window)
  • 分类
  • 标签
  • 归档
项目
GitHub (opens new window)
  • 面试

  • 数据库

  • linux

  • node

  • tensorFlow

  • 基础组件

  • 基础知识

  • 算法与设计模式

    • 设计模式

      • 设计模式概览
      • 为什么学习设计模式
      • 面向对象设计
      • 贫血模型与充血模型
      • 设计原则
      • 规范与重构
      • 设计模式大纲
      • 观察者模式
  • 分布式

  • 疑难杂症

  • go学习之旅

  • 极客时间

  • 知识库
  • 算法与设计模式
  • 设计模式
ggball
2022-03-17

设计模式概览

简单工厂 实际不能算作一种设计模式,它引入了创建者的概念,将实例化的代码从应用代码中抽离,在创建者类的静态方法中只处理创建对象的细节,后续创建的实例如需改变,只需改造创建者类即可,

但由于使用静态方法来获取对象,使其不能在运行期间通过不同方式去动态改变创建行为,因此存在一定局限性。

工厂方法模式 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。

优点:方便创建对象

缺点:如果工厂想要生产另外的对象,需要修改工厂代码

抽象工厂

抽象工厂的行为,可以利用抽象工厂创建出有自己”特色”的工厂

优点:方便创建对象,比工厂模式减少修改工厂代码的概率,想要生产新的产品,创建新的工厂,继承抽象即可

缺点:如果工厂想要生产除抽象工厂另外的对象,仍然需要修改工厂代码

生成器模式 是一种创建型设计模式, 使你能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。

应用场景:

  • 使用生成器模式可避免 “重叠构造函数 (telescopic constructor)” 的出现。

  • 当你希望使用代码创建不同形式的产品 (例如石头或木头房屋) 时, 可使用生成器模式。

  • 使用生成器构造他复杂对象。

原型模式 首先,对象支持clone行为,让生产的对象自定义实现clone方法,然后,将需要生产的对象存入哈希表,每次需要某个对象的时候,只需要调用对象的clone方法。

上次更新: 2025/06/04, 15:06:15
动态代理
为什么学习设计模式

← 动态代理 为什么学习设计模式→

最近更新
01
AIIDE
03-07
02
githubActionCICD实战
03-07
03
windows安装Deep-Live-Cam教程
08-11
更多文章>
Theme by Vdoing
总访问量 次 | 总访客数 人
| Copyright © 2021-2025 ggball | 赣ICP备2021008769号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×

评论

  • 评论 ssss
  • 回复
  • 评论 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
  • 回复
  • 评论 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
  • 回复
×