面试知识汇总——设计模式

server/2024/10/18 8:34:16/

模式分类

设计模式按照应用目标可以分为三大类型:创建型模式、结构型模式和行为型模式。

创建型模式:对对象创建过程的各种问题和解决方案的汇总,如工厂模式、单例模式、构造器模式原型模式。

结构型模式:对软件设计的结构的一个总结,重点关注类、对象继承和组合方式使用经验的总结。如桥接模式、适配器模式、装饰器模式、代理模式。

行为型模式:对类或对象之间的交互、职责划分的总结。如策略模式、解释器模式、命令模式、观察者模式、迭代器模式。

典型模式

抽象工厂

定义了一个接口用于创建相关或有依赖关系的对象族,而无需明确指定具体类,只需要传入参数就可以实例化对象。

适配器模式

 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。可以分为:类的适配器模式、对象的适配器模式、接口的适配器模式。

观察者模式

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。

代理模式

在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。


http://www.ppmy.cn/server/100151.html

相关文章

Java实战一 手动创建springboot3+mybatis+mysql工程

idea手动创建sb工程,选择好配置,使用jdk17 main下补全目录resource resource下补全application.yml 引入依赖 ,写入父工程 刷新maven 补全配置 创建所需目录 创建User实体类 创建启动类BootDemoApplication 运行启动类成功看到运行在8080端…

链表 19.删除链表的倒数第N个节点 双指针

双指针 fast走n1步,是为了和slow保持n1个位置,此时fast移动至空节点,slow与fast位置差n1节点, 那slow再往后移动一位,就是需要删除的倒数第n个节点,即目标节点。倒数第几个,翻过来看即正数第几…

电脑高手必备!这款数据恢复神器你值得拥有

哎呀,现在我们天天在用的手机、电脑和各种移动设备都是有很多日常和工作中的重要数据,丢失重要的文件和数据的时候就很着急,所以我也很感同身受,为此困扰过我好几次,所以今天特地借此文章整理了常用的失易得数据恢复软…

WebDeveloper靶机复现

靶机设置 设置靶机为NAT模式 靶机IP发现 nmap 192.168.112.0/24 靶机ip为192.168.112.137 目录扫描 开放80端口,进行目录扫描 dirb 192.168.112.137 访问浏览器 目录拼接 拼接/ipdata 发现了一个流量包 在wireshark里面查看,发现wordpress的账户…

机器学习之随机森林

文章目录 1. 随机森林概述1.1 定义与起源1.2 与其他算法的比较 2. 随机森林的工作原理2.1 决策树基础2.2 Bagging机制2.3 随机性的引入 3. 随机森林的构建过程3.1 数据准备3.2 特征选择3.3 多棵树的集成 4. 随机森林的优缺点分析4.1 优势4.2 局限性 5. 随机森林的应用场景5.1 分…

Android中的Binder

binder是Android平台的一种跨进程通信(IPC)机制,从应用层角度来说,binder是客户端和服务端进行通信的媒介。 ipc原理 ipc通信指的是两个进程之间交换数据,如图中的client进程和server进程。 Android为每个进程提供了…

从C向C++26——C++11(3)

一.可调用对象 1.可调用对象 可调用对象分为四类&#xff1a; 是一个函数指针 int print(int a, double b) {cout << a << b << endl;return 0; } // 定义函数指针 int (*func)(int, double) print; //使用using起别名来定义函数指针&#xff0c;注意把us…

基于商业化glm大模型接口的pdf目录提取实验

鬼知道这个实验是怎么变成今天这个样子的。希望大家踊跃参加比赛&#xff0c;这样我的压力会更小。不然就要自己充钱了。这是参赛地址&#xff1a;智谱AI开放平台 世界上有很多PDF文档。这些PDF中有些非常标准化&#xff0c;可以从源码中直接解析出章节信息&#xff1b;而有些…