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

【设计模式】--重点知识点总结

题1

1、工厂和产品之间是依赖关系

2、工厂方法模式:工厂方法不能为静态方法。如果是静态方法,子类无法重写行为。

简单工厂可以用静态方法

3、采用设计模式,以保证成功的设计和体系结构

4、建造者模式:(1)用户只指定复杂对象的类型和内容即可(2)各个具体的建造者之间相互独立

5、桥接模式:抽象和实现相分离;动态组合多于一个的抽象化角色和实现化角色

6、可以以“_”开头,但不能有空格!

题2

  1. 命令模式:发出命令的责任和执行命令的责任不在同一类里
  2. 享元对象能做到共享的关键:区分内部状态和外部状态 P231
  3. 中介者:多对多;观察者:一对多

观察者:抽象目标指向(关联)抽象观察者 P23

  1. 毕业生通过职业介绍所找工厂:代理模式

题3

  1. 抽象工厂模式:提供一个创建一系列相关/相互依赖对象的接口,而无需指定他们具体的类
  2. 适配器模式:类适配器模式一次最多只能适配一个适配者类

3、外观模式:为子系统的一组接口提供统一的界面,例“电源总开关”

4、接口中含有 常量  公有抽象方法

5、面向对象编程三大特性:封装、继承、多态

6、建造者模式返回一个组装好的完整产品,抽象工厂模式返回一系列相关的产品

题5

  1. 备忘录模式支持撤销(一个依赖、一个关联,都指向备忘录),利用负责人的set和get;命令模式也支持撤销 P285
  2. 代理模式(协调调用者和被调用者)的几种类型:P253(VPN)。缺点:请求的处理速度会变慢
  3. 命令模式:将请求封装为对象,从而使你可以使用不同的请求对客户进行参数化
  4. 依赖倒转原则的定义 P34
  5. 接口隔离原则的定义 P39
  1. 客户端不应该依赖那些他不需要的接口
  2. 一旦一个接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可
  1. 迭代器模式:访问一个聚合对象,而无需暴露其内部表示
  2. 实现视图--逻辑元素;环境视图--物理元素
  3. 职责链模式:可以动态决定由一组对象中的某个对象处理请求(请求沿着链传递,由某个对象来处理,这个对象是动态决定的。)

动态指定处理一个请求的对象集合(√),并高效率地处理一个请求。

(如果链条很长或处理者顺序不合理,可能导致性能下降;所以它不一定高效。)

题6

1、装饰模式:可以动态地给一个对象增加功能,这些功能也可以动态地撤销

2、组合模式:表示的是一种“部分-整体”的关系

3、享元模式(轻量级模式):要求能够共享的对象必须是细粒度对象,例“数据库连接池”

4、设计模式的分类:(1)范围:类模式和对象模式(2)目的:创建型模式、结构型模式和行为型模式

5、构造函数没有返回类型

题7

1、月光宝盒:备忘录模式

2、A:65;a:97

3、简单工厂模式:会增加系统中类的个数

4、命令模式支持“在不同的时间指定请求、将请求排队和执行请求”

5、访问者模式:不改变聚合类的前提下定义作用于聚合中元素的新操作

6、邮件的转发功能:原型模式!!!

题8

1、访问者模式:作用于某对象结构中的各元素的操作

2、外观模式又称为门面模式,它是一种对象结构型模式

3、设计模式包含模式名称、问题、解决方案、效果

4、高层模块依赖抽象

5、抽象工厂模式增加新产品族方便,但增加新等级结构需修改“工厂”

6、桥接模式:继承->关联,降低耦合度

7、装饰模式支持动态撤销

8、享元模式:五子棋

题9

1、型模式不满足“开闭原则”,需要为每一个类配备一个克隆方法

2、开闭原则的关键:抽象化

3、群聊(主题)消息推送给所有成员:观察者模式;

群聊:中介者模式

4、工厂子类可以隐藏父类的静态方法

5、当系统中有多余一个产品类时可以考虑使用抽象工厂模式

编程题:

1.switch (变量) 记得带括号!!!

2.List<User> users=new ArrayList<User> ();

HashMap h=new HashMap();

http://www.xdnf.cn/news/1419607.html

相关文章:

  • CatBoost(Categorical Boosting,类别提升)总结梳理
  • 基于SpringBoot的运动服装销售系统【2026最新】
  • python爬虫之requests库的使用(小白五分钟从入门到精通)
  • 【笔记】算法设计:异或空间线性基
  • 树形结构后端构建
  • 【前端】跨域
  • Python云原生与Serverless架构:2025年的开发新范式
  • java讲解自己对业务架构、数据架构、应用架构的理解
  • C++ 面试高频考点 力扣 35. 搜索插入位置 二分查找 左右端点查找 题解 每日一题
  • 数组(3)
  • 深度学习篇---ShuffleNet
  • 人工智能知识体系全景图:从基础概念到2025年前沿技术(二)
  • 基于SpringBoot+MYSQL开发的教务选课系统
  • 基于SpringBoot的动漫周边商城系统【2026最新】
  • 第二十八天-光敏传感器实验
  • 人工智能之数学基础:常用的连续型随机变量的分布
  • Empire: LupinOne靶场渗透
  • 音频数据集采样率选择建议
  • 【数据库】openGauss 6.0 单机自动化安装最佳实践
  • ‌NAT穿透技术原理:P2P通信中的打洞机制解析‌
  • Python核心技术开发指南(033)——函数的嵌套
  • 【LeetCode 热题 100】5. 最长回文子串——中心扩散法
  • 数组基础及原理
  • NoteGen – 跨平台 AI 笔记应用,支持截图、插图和文本输入记录方式
  • 从零开始学习n8n-定时器+HTTP+飞书多维表格(下)
  • 在 Halo 中导入 Markdown 和 Word 文档
  • Go语言入门学习笔记
  • React前端开发笔记合集
  • Go 语言 sync 包解析
  • 三消消乐益智小游戏抖音快手微信小程序看广告流量主开源