面试-设计模式

在这里插入图片描述

策略模式

定义了一组算法,分别封装起来,这些算法直接可以相互替换
在这里插入图片描述
在这里插入图片描述
设计模式的开闭原则:对修改关闭,对扩展开放

装饰模式

将某种算法作为一个装饰品添加到对象身上,同时可以自由穿戴更换装饰品
两个主要的角色:装饰器和被装饰的对象
装饰器和被装饰的对象要实现同一接口
(下面是装饰器的父类
在这里插入图片描述
在这里插入图片描述

观察者模式

对象的一对多关系,当一个对象的状态发生改变时,他所有的依赖者都会收到通知并自动更新,观察者模式也叫订阅发布模式
两种模式:观察者和被观察者(或者叫做订阅者和发布者)报社就是被观察者 订报纸的客户就是观察者
被观察者要保存所有观察者的列表,这样的话才能够通知观察者 遍历列表挨个调用方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

单例模式

确保一个类只有一个实例化对象,并且提供一个可以被全局访问的对象
(双重检测)
在这里插入图片描述

工厂模式

不需要开发者手动创建对象,而是提供一个容器,开发者需要对象的时候只需要从中去获取
在这里插入图片描述
在这里插入图片描述

适配器模式

将一个接口转换成用户期望的另一个接口
解决的是类之间接口不兼容的问题
在这里插入图片描述
在这里插入图片描述

代理模式

实现目标对象和业务方法的解耦合
业务代码和非业务代码分离
代理 委托 实现同一个接口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模板方法模式

提供了一个算法模板,将各个类中相同的代码统一提取出来,封装到父类中,形成一个模板,子类可以直接复用代码
(抽象方法+定义过程cook)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
servlet使用模板方法模式

责任链模式

链式调用的形式
责任指的是对请求的某些操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146526.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

游戏淡入淡出效果

一、制作UIdocument 注:是全黑的;并且Picking Mode设置为Igore 通过调节display中的值,实现淡入淡出效果 二、建立空物体 增加uiDocument 拖入相关的物体 注:层级必须设置为最高,此处为20,这个效果必须遮…

MySQL深入原理

MySQL深入原理 索引、事务、日志原理、InnoDB引擎、缓存、锁 有4个数据库是属于MySQL自带的系统数据库: ​ mysql MySQL 系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中…

波分技术基础 -- Liquid OTN

什么是Liquid OTN 传统OTN技术主要定位于骨干网和城域网应用,主要用于承载大于1Gbits/s速率业务,在OTN下沉到城域/接入网后,面临如下问题:管道弹性不足(最小管道ODU0)、连接数少、带宽调整不够灵活等挑战。…

yolov5/8/9模型在COCO分割数据集上的应用【代码+数据集+python环境+GUI系统】

yolov5/8/9模型在COCO分割数据集上的应用【代码数据集python环境GUI系统】 yolov5/8/9模型在COCO分割数据集上的应用【代码数据集python环境GUI系统】 1.COCO数据集介绍 COCO数据集,全称为Microsoft Common Objects in Context,是微软于2014年出资标注的…

更换硬盘后,电脑装完系统进不去?或PE能识别硬盘但开机/启动/BIOS识别不了硬盘解决办法

由于现在的电脑主板,默认都是UEFI启动,硬盘只有使用GUID分区表,主板BIOS才找得到系统引导! 而当我们拿到一块新硬盘,使用分区工具默认类型分区,默认是MBR类型,所以这种分区的硬盘,B…

解决Windows10关闭UAC后,开机启动项不生效的问题

Windows10关闭UAC后,会发现启动项不生效。 运行输入gpedit.msc打开组策略(家庭版没有组策略功能) 依次展开计算机配置-》Windows设置-》安全设置-》本地策略-》安全选项-》用户账户控制:以管理员批准模式运行所有管理员&#xf…

VGG16模型实现新冠肺炎图片多分类

1. 项目简介 本项目的目标是通过深度学习模型VGG16,实现对新冠肺炎图像的多分类任务,以帮助医疗人员对患者的影像进行快速、准确的诊断。新冠肺炎自爆发以来,利用医学影像如X光和CT扫描进行疾病诊断已成为重要手段之一。随着数据量的增加&am…

ETCD学习使用

一、介绍 etcd(分布式键值存储)是一个开源的分布式系统工具,用于可靠地存储和提供键值对数据。etcd 通常通过 HTTP 或 gRPC 提供 API,允许应用程序通过简单的接口与其交互。由于其可靠性和稳定性,etcd 在构建可扩展、分…

【Linux笔记】如何将内容从一个文件复制到另一个文件

比如:将文件tmp_file.txt中的部分数据,复制到file01.txt中去 tmp_file.txt文中内容: file01.txt为空文档 一、使用vi编辑器 I、文件中直接使用:e 目标文件进行切换文件复制 1、打开被复制文件 vi tmp_file.txt 2、进入一般命令模式 默认情况为…

电机学习-有感BLDC开环控制(六步换相)

文章目录 1. 简介2. 六步换向控制3. 机械角度和电角度4.转子位置获取5.霍尔传感器读取测试6.速度开环控制6.1 PWM设置6.2死区时间 1. 简介 BLDC的反电动势一般是梯形的反电动势,所以采用方波控制。如图2-1所示,是一个简化的内转子无刷直流电机。我们通过…

Remix在SPA模式下,出现ErrorBoundary错误页加载Ant Design组件报错,不能加载样式的问题

Remix是一个既能做服务端渲染,又能做单页应用的框架,如果想做单页应用,又想学服务端渲染,使用Remix可以降低学习成本。最近,在学习Remix的过程中,遇到了在SPA模式下与Ant Design整合的问题。 我用Remix官网…

自动化立体仓库与堆垛机单元的技术参数

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 完整版文件和更多学习资料,请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件是一份自动化立体仓库与堆垛机单…

ViT模型

Vision Transformer (ViT) 论文地址:https://arxiv.org/abs/2010.11929 输入到MLP类别分类器中的特征只有类别token 经过N层transformer编码器处理后的特征的维度与输入前相同,均为[197,768],我们只使用列表切片的方式提取出类…

成都睿明智科技有限公司抖音电商新蓝海领航者

在当今这个短视频与直播电商风起云涌的时代,抖音凭借其庞大的用户基数和高度活跃的社区氛围,已成为众多品牌与商家争相入驻的新蓝海。而在这场电商盛宴中,成都睿明智科技有限公司凭借其专业的服务、创新的策略和深厚的行业洞察力,…

MySQL(日志)

日志 日志分为三种: undo log (回滚日志):用于事务回滚和MVCC redo log (重做日志):用于故障恢复 binlog (归档日志):用于数据备份和主从复制 undo log undo…

【MySQL】字符集与Collation

今天做项目,突然发现,项目中使用的MySQL的库排序规则是 utf8mb4_general_ci,而我自己用的MySQL8默认库规则是utf8mb4_0900_ai_ci,于是想要弄清楚 出处(写的非常详细):mysql设置了utf8mb4&#x…

华为HarmonyOS地图服务 12 - 如何在地图指定位置增加气泡?

场景介绍 本章节将向您介绍如何在地图的指定位置添加气泡。 您可以通过气泡在道路上指定位置显示测速、拥堵情况。气泡支持功能: 支持设置四个方向的图标(传入的图标宽高需要相同)。支持设置图标碰撞规则。支持设置当前气泡的候选坐标段,通过计算使气泡在最佳的线段位置上…

C++速通LeetCode中等第16题-环形链表II(快慢指针)

算法思路(主要是数学推导): /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNode *detectCycle(ListNo…

KVM环境下制作ubuntu qcow2格式镜像

如果是Ubuntu KVM环境是VMware虚拟机,需要CPU开启虚拟化 1、配置镜像源 wget -O /etc/apt/sources.list https://www.qingtongqing.cc/ubuntu/sources.list2、安装kvm qemu-img libvirt kvm虚拟化所需环境组件 apt -y install qemu-kvm virt-manager libvirt-da…

【JavaEE】——多线程(join阻塞,计算,引用,状态)

阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你! 目录 一:join等待线程结束 1:知识回顾 2:join的功能就是“阻塞等待” …