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

设计模式期末复习

一、设计模式的概念以及分类

 是一套被反复使用,多数人知晓,经过分类编目,代码设计经验的总结,描述了在软件设计的过程中不断重复发生的问题,以及该问题的解决方案,他是解决特定问题的一系列套路,是前辈们代码设计经验的总结,具有一定的普遍性,可以被反复使用。

 

二、设计模式的主题和意图

主题:系统的扩展与复用 

降低系统的复杂性,提高可维护、可复用、可扩展。

三、面向对象程序设计原则,记住名字,还要理解它的使用场景以及如何用?

四、松耦合、紧耦合、强关联、弱关联、静态复用、动态复用的概念,还有静态委派,动态委派

(是一样的东西,要从不同角度去理解)博客里写死,叫紧耦合强关联静态复用,写代码这两个模块的关系不确定,根据程序运行时才动态的关联起来,这叫松耦合弱关联,动态复用。

松耦合指的是类之间的依赖关系相对松散,当某个类发生变化时,对其他类的影响尽可能小。强关联指的是两个类之间具有紧密的联系和依赖关系;静态复用指的是在编译阶段将已有的代码、模块或组件嵌入到新程序中,以实现代码的重用;动态复用指的是在运行时根据需要动态地加载和调用已有的代码、模块或组件;静态委派指的是在编译阶段就已经确定了委派关系和委派对象。

五、模式中工厂方法模式、抽象工厂模式(说过一道必考题)

 

六、结构模式中的代理模式,动机、意图、实现方式、应用场景分别

主要用途:能够动态地在方法的前后扩展附加一些新的功能,它能够在不破坏原有类的封装的前提下,增强相应的功能。 

应用:在软件开发中

实现方式:包括静态代理和动态代理(反射代理和cglib代理),这两种模式都是在被代理对象持有一个被代理对象,通过被代理对象调用代理对象的方法;不同的是静态代理类是程序员编写,而动态代理对象是由一个代理工厂生产出来的,这个代理工厂能够生产所有类的代理对象,代理工厂通常使用类的反射机制来完成。

动机:维护、扩展、复用。

七、行为模式中观察者模式和策略者模式

第三章

八.选择、判断各个模式都会涉及

单例模式中什么叫按需加载、懒加载

享元模式的池记

装饰器模式动态复用,动态功能的附加

九、类图

 91c65141f72e4bcf9fe1b17c3d8b686e.png

c32a2a1e6dfa46bb945653f3d669389a.png

软件设计模式期末复习——大题/综合题大体思路_设计模式期末考试复习-CSDN博客

设计模式精讲 设计模式与软件体系结构【期末全整理答案】_软件设计模式期末题-CSDN博客设计模式-策略模式-CSDN博客


http://www.mrgr.cn/news/81118.html

相关文章:

  • 《操作系统真象还原》第十章(一) —— 同步机制之互斥锁的实现
  • LeetCode:110.平衡二叉树
  • 通过Docker Compose来实现项目可以指定读取不同环境的yml包
  • AI的进阶之路:从机器学习到深度学习的演变(四)
  • Google Cloud Architect 认证考试错题集5
  • LiteFlow决策系统的策略模式,顺序、最坏、投票、权重
  • JavaScriptEs6 - String类和Array类扩展内容
  • Kamailio db_text 之使用
  • 计算机毕业设计PySpark+PyFlink+Hive地震预测系统 地震数据分析可视化 地震爬虫 大数据毕业设计 Hadoop 机器学习 深度学习
  • 基于OpenAI API使用Fastchat部署调用本地大模型
  • spring cache源码解析(四)——从@EnableCaching开始来阅读源码
  • 【数据结构练习题】栈与队列
  • 浏览器工作原理与实践-12|栈空间和堆空间:数据是如何存储的
  • 【Linux进程】进程间通信(共享内存、消息队列、信号量)
  • Jetpack 练手项目 —— Sunflower
  • 计算机毕业设计PyFlink+Hadoop广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数据毕业设计 Spark Hive 深度学习 机器学
  • 洛谷 P2142:高精度减法 ← string+数组
  • 大语言模型驱动的Agent:定义、工作原理与应用
  • HTML5前端实现毛玻璃效果的可拖拽登录框
  • 大数据操作实验一
  • Unittest01|TestCase、断言、装饰器、夹具、清理函数、ddt
  • 计算机网络基础图解
  • 【Python】pandas库---数据分析
  • 人工智能ACA(四)--机器学习基础
  • 「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具
  • SpringBoot提供的常用接口(拓展接口)示例