当前位置: 首页 > news >正文

2025.12.10总结

设计模式还有不到两周就要考试了,现在需要抓紧复习,这方面知识点少。
主要就是uml建模,类图,设计原则,23种设计模式,需要记的东西多,还需要理解着去记,还需要跟代码实际结合。虽然学过一遍,但是好像掌握不了设计模式的精髓,也用不到项目里面去,或者已经用到了,但是不知道是什么。

设计模式有很多年了,但是一些技术和框架是近年才出的,集成程度高。

一、 核心知识图谱(23种设计模式的骨架)

1. 创建型模式 (5种) - 解决“对象创建”的复杂性

  • 单例模式:确保一个类只有一个实例,并提供一个全局访问点。
    • 考点:懒汉式(双重检查锁定)、饿汉式、静态内部类实现、枚举实现、线程安全问题。
  • 工厂方法模式:定义一个创建对象的接口,让子类决定实例化哪一个类。
    • 考点:抽象创建者、具体创建者、产品接口/抽象类。
  • 抽象工厂模式:提供一个创建一系列相关或依赖对象的接口,而无需指定它们具体的类。
    • 考点:与工厂方法的区别(产品族 vs 产品等级)、抽象工厂接口、具体工厂、产品族。
  • 建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
    • 考点:指挥者、建造者接口、具体建造者、产品。适用于构造参数多且可选的对象。
  • 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
    • 考点:深拷贝与浅拷贝、Cloneable接口、clone方法。

2. 结构型模式 (7种) - 解决“类或对象如何组合”

  • 适配器模式:将一个类的接口转换成客户希望的另外一个接口。
    • 考点:类适配器(继承)、对象适配器(组合)、缺省适配器。
  • 装饰器模式:动态地给一个对象添加一些额外的职责。比生成子类更灵活。
    • 考点:与继承的区别、透明性、可嵌套组合。典型例子:Java I/O流。
  • 代理模式:为其他对象提供一个代理以控制对这个对象的访问。
    • 考点:静态代理、动态代理(JDK/CGLIB)、应用场景(远程、虚拟、保护、智能引用代理)。
  • 外观模式:为子系统中的一组接口提供一个一致的界面。
    • 考点:简化客户端调用,降低系统耦合。
  • 桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。
    • 考点:理解“抽象”和“实现”两个维度的独立变化,用组合代替继承。
  • 组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。
    • 考点:透明式 vs 安全式、叶子节点和树枝节点的统一接口。
  • 享元模式:运用共享技术有效地支持大量细粒度的对象。
    • 考点:内部状态 vs 外部状态、享元工厂、连接池/线程池是典型应用。

3. 行为型模式 (11种) - 解决“对象间的职责分配与通信”

  • 策略模式:定义一系列算法,将每个算法封装起来,并使它们可以互相替换。
    • 考点:消除大量的if-else,符合开闭原则。上下文持有策略接口。
  • 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
    • 考点:好莱坞原则、抽象类中的模板方法(final)和抽象方法/钩子方法。
  • 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象状态改变时,所有依赖它的对象都得到通知。
    • 考点:推模型 vs 拉模型、Subject/Observer接口。Java内置java.util.Observable。
  • 迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部表示。
    • 考点:分离了集合对象的遍历行为。Java的Iterator接口。
  • 责任链模式:将请求的发送者和接收者解耦,使多个对象都有机会处理这个请求。
    • 考点:链条的形成、请求的传递与终止。典型例子:过滤器链、审批流程。
  • 命令模式:将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化。
    • 考点:命令接口、具体命令、调用者、接收者。支持撤销/重做、队列请求。
  • 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
    • 考点:发起人、备忘录、负责人。实现状态保存与恢复。
  • 状态模式:允许一个对象在其内部状态改变时改变它的行为。
    • 考点:与策略模式的区别(状态模式是状态驱动的行为自动改变)。
  • 访问者模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
    • 考点:双分派、元素接口、具体访问者。适用于数据结构稳定但操作多变的场景。
  • 中介者模式:用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用。
    • 考点:将网状结构变为星型结构,集中控制交互逻辑。
  • 解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
    • 考点:抽象表达式、终结符表达式、非终结符表达式。适用于简单文法。
http://www.jsqmd.com/news/71378/

相关文章:

  • 2025最新AWHFVC防腐厂家TOP5评测!混凝土防腐品牌年度榜单,技术创新+长效防护,守护工业基建安全防线 - 全局中转站
  • 嵌入式原理图设计基础:电源/复位/时钟/IO接口电路全解析
  • Enhance European/American Repairs with OTOFIX D1 Plus 1-Year Update Subscription
  • Yarn vs npm:现代前端包管理器的深度对比
  • CAD技巧
  • 2025 最新玻璃钢防腐厂家 TOP5 评测!技术创新 + 工程实证权威榜单发布,赋能工业设施长效防护生态 - 全局中转站
  • 散修带你入门鸿蒙应用开发基础第六节:变量的作用域与生命周期 - 鸿蒙
  • 2025医疗器械全球法规注册咨询辅导选择评测报告 - 优质品牌商家
  • keil5下载安装教程详细步骤(附安装包)Keil MDK v5.40下载安装详细教程
  • 2025氢力守护!富氢水灌装水处理设备TOP5:高浓稳定促灌装 - 极欧测评
  • One Year AUTEL MK808S Update Service: Enhance Diagnostics Repairs for EU/American Vehicles
  • 在 RTX 5070 + WSL 上使用 VGGT 替代 COLMAP 加速 3DGS 训练 - 天马行空
  • Unity 场景切换
  • 散修带你入门鸿蒙应用开发基础第五节:函数的定义与使用 - 鸿蒙
  • 《Ai元人文构想:黑箱之渡,白箱之锚——大行为模型践行意义行为原生》及其相关的分析稿与研究稿的阐述
  • 2025最新防腐涂料及工程厂家TOP5评测!技术创新+工程实证权威榜单发布,守护工业设施长效安全 - 全局中转站
  • 移动端_设计师值得收藏的10个Mobile端UI组件库10个WEB端UI框架[转]
  • 用 ssldump 跟踪 tls 障碍
  • 12-10午夜盘思
  • Maven介绍安装与IDEA应用(JavaWeb)
  • 提升视频语义分割标注效率的新方法
  • 实用指南:Python + uiautomator2 手机自动化控制教程
  • 实用指南:Python + uiautomator2 手机自动化控制教程
  • Buuctf-babyheap_0ctf_2017
  • python:用argparse模块解析命令行参数
  • Alientech KESS3 Slave 12-Month Subscription: Professional Diagnostics Tuning for Euro/American Cars
  • 苏州装修公司合作知名建材品牌全解析:本土零增项标杆领衔,实力派闭眼选 - 品牌测评鉴赏家
  • 苏州装修公司合作知名建材品牌全解析:本土零增项标杆领衔,实力派闭眼选 - 品牌测评鉴赏家
  • 2025透析安全屏障!血液透析中心水处理设备TOP5:无菌高纯护生命 - 极欧测评
  • 跑酷基础训练1安全