2k_Day1:今天是设计模式的大白话1
大白话:
原则有一点很难做到,就是定义好的类,只能加不能改(开放-关闭原则)
1.工厂模式就是,比如你定了一个汽车接口,然后小车、中车、大车都继承这个接口,这时,定一个汽车工厂,有一个getcar方法带个入参,在Main里调用getcar决定是创建小中大哪个车的对象。
2.抽象工厂先是工厂模式,然后把工厂类也抽象了,又有实现类来继承抽象工厂类,然后靠入参决定哪个工厂,我觉得就是加多了选择哪个工厂这一层。
3.单例,太简单了,类里有一个new自己的静态属性,一个返回属性的静态方法。那程序启动就会有这个类的唯一对象。然后可以分是启动时就创建,还是使用时再创建。
4.组合模式,经常使用,树结构,类里面属性有List<T>集合的属性。比如菜单有标题、code,还有下级菜单集合。
5.桥接模式,看着有点难,用起来就是实现的和抽象的都没耦合,最底一层是1个接口2个实现接口类,用来写实现逻辑,上一层是抽象类,1个接口的对象,构造方法有接口类型的入参,还有这个抽象类要使用的抽象方法,然后一层到实现抽象的类,构造时入参决定哪个实现接口类,抽象方法再用接口的方法。
6.建造者模式,StringBuilder是用它,是一个一个简单的类来实现出一个复杂的类,最后Main里能addItem决定实现哪个类。
今天学了6个,感觉:
结构型设计模式应该能经常见到,而且有时也无意的使用了
创建型设计模式目的是为了解耦,或者做到能扩展,实现类的解耦,抽象类的也解耦。
相关文章:
2k_Day1:今天是设计模式的大白话1
大白话: 原则有一点很难做到,就是定义好的类,只能加不能改(开放-关闭原则) 1.工厂模式就是,比如你定了一个汽车接口,然后小车、中车、大车都继承这个接口,这时,定一个汽…...
面试官:说说你对事件循环的理解
一、事件循环是什么 首先,JavaScript是一门单线程的语言,意味着同一时间内只能做一件事,但是这并不意味着单线程就是阻塞,而实现单线程非阻塞的方法就是事件循环 在JavaScript中,所有的任务都可以分为 同步任务&#…...
【SpringCloud微服务实战03】Nacos 注册中心
一、Nacos安装 官方文档安装Nacos教程:Nacos 快速开始 这里安装的是1.4.7版本,安装之后访问http://127.0.0.1:8848/nacos 管理界面如下:(用户名:nacos,密码:nacos) 二、Nacos服务注册和发现 1、在父工程中配置文件pom.xml 中添加spring-cloud-alilbaba的管理依赖:…...
FLatten Transformer_ Vision Transformer using Focused Linear Attention
paper: https://arxiv.org/abs/2308.00442 code: https://github.com/LeapLabTHU/FLatten-Transformer 摘要 当将transformer模型应用于视觉任务时,自注意的二次计算复杂度( n 2 n^2 n2)一直是一个持续存在的挑战。另一方面,线性注意通过精心设计的映射…...
STM32CubeMX学习笔记17--- FSMC
1.1 TFTLCD简介 TFT-LCD(thin film transistor-liquid crystal display)即薄膜晶体管液晶显示器。液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),每个像素都可以通过点脉冲直接控制,因而每个节点都…...
【MogDB】实战MogDB数据库适配Halo博客系统1.6版本(基于springframework+hibernate+HikariPool)
前言 前一篇文章说了MogDB适配Halo,【MogDB】将流行的博客系统Halo后端的数据库设置为MogDB,但是适配的是2.x版本,由于2.x版本已经引入了对postgresql的支持,而MogDB对于postgresql有很好的兼容性,因此适配起来很简单。但是由于halo2.x的版本…...
Python与FPGA——局部二值化
文章目录 前言一、局部二值化二、Python局部二值化三、FPGA局部二值化总结 前言 局部二值化较全局二值化难,我们将在此实现Python与FPGA的局部二值化处理。 一、局部二值化 局部二值化就是使用一个窗口,在图像上进行扫描,每扫出9个像素求平均…...
shell文本处理工具-shell三剑客1
shell脚本常用基础命令2 shell脚本常用基础命令 shell脚本常用基础命令2一、grep用法二、sed用法2.1p参数 (显示)n参数(只显示处理过的行) 文本处理三剑客:grep sed awk 一、grep用法 grep -E egrep (扩展搜索正文表…...
函数的传入参数-传参定义
基于函数的定义语法: def 函数名(传入参数)函数体return 返回值 可以有如下函数定义: def add(x,y):return xyprint(f"{x} {y}的结果是:{result}") 实现了,每次计算的是xy,而非…...
主流接口测试框架对比,究竟哪个更好用
公司计划系统的开展接口自动化测试,需要我这边调研一下主流的接口测试框架给后端测试(主要测试接口)的同事介绍一下每个框架的特定和使用方式。后端同事根据他们接口的特点提出一下需求,看哪个框架更适合我们。 需求 1、接口编写…...
常用python模板
1.简单脚本模板 def main():#代码逻辑if __name__"__main__":main() 2.类定义模板 Class Myclass:def __init__(self,parameter):self.parameterparameterdef my_method(self):#方法逻辑 3.函数定义模板 def my_function(parameter):#代码逻辑return result 4.…...
53. 最大子数组和(力扣LeetCode)
文章目录 53. 最大子数组和题目描述暴力(运行超时)贪心 53. 最大子数组和 题目描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组…...
如何远程SSH连接在家的服务器主机
当您需要通过SSH远程连接到家里的服务器主机时,以下是更详细的实施步骤: 1. 确保服务器主机已开启SSH服务 安装SSH服务:首先,确保您的服务器主机上安装了SSH服务。根据您的操作系统,您可以使用相应的包管理器来安装。…...
【亲测有效】解决三月八号ChatGPT 发消息无响应!
背景 今天忽然发现 ChatGPT 无法发送消息,能查看历史对话,但是无法发送消息。 可能的原因 出现这个问题的各位,应该都是点击登录后顶部弹窗邀请 [加入多语言 alapha 测试] 了,并且语言选择了中文,抓包看到 ab.chatg…...
vue结合vue-electron创建应用程序
这里写自定义目录标题 安装electron第一种方式:vue init electron-vue第二种方式:vue add electron-builder 启动electron调试功能:background操作和使用1、覆盖窗口的菜单上下文、右键菜单2、监听关闭事件、阻止默认行为3、创建悬浮窗口4、窗…...
【C++】STL(二) string容器
一、string基本概念 1、本质 string是C风格的字符串,而string本质上是一个类 string和char * 区别: char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 2、特点 1、stri…...
PyCM:Python中的混淆矩阵库
PyCM:Python中的混淆矩阵库 在机器学习和数据科学领域,评估模型的性能是至关重要的。混淆矩阵是一种常用的评估工具,用于可视化和量化分类模型的预测结果。PyCM是一个开源的Python库,提供了丰富的功能来计算和分析混淆矩阵。本文将…...
Day22:安全开发-PHP应用留言板功能超全局变量数据库操作第三方插件引用
目录 开发环境 数据导入-mysql架构&库表列 数据库操作-mysqli函数&增删改查 数据接收输出-html混编&超全局变量 第三方插件引用-js传参&函数对象调用 完整源码 思维导图 PHP知识点: 功能:新闻列表,会员中心࿰…...
IOS面试题object-c 61-70
61. 阐述isKindOfClass、isMemberOfClass、selector作用分别是什么?isKindOfClass:作用是某个对象属于某个类型或者继承自某类型。 isMemberOfClass:某个对象确切属于某个类型。 selector:通过方法名,获取在内存中的函…...
Git指令reset的参数soft、mixed与hard三者之间的区别
主要内容 reset默认不写参数,与使用mixed参数含义一样 为了描述简洁,使用下图说明: #mermaid-svg-LtChquRXlEV1j6og {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-LtChquRXlEV1j…...
OpenClaw hook-钩子机制详解
前言 OpenClaw 的钩子(Hook)系统是其核心扩展能力的载体,通过事件驱动的方式实现对代理(Agent)和网关(Gateway)全生命周期的灵活管控与深度集成。整个钩子系统清晰分为两大类——内部钩…...
别再忍受龟速下载了!保姆级教程:为Conda配置清华/阿里云镜像源(Windows/Mac/Linux全平台)
告别Conda下载卡顿:国内镜像源配置全攻略 每次看到Conda下载进度条像蜗牛一样爬行,是不是想砸键盘的心都有了?国内开发者使用默认源下载Python包时,经常遭遇三位数的下载速度,一个简单的numpy安装可能就要消耗半小时咖…...
SAP SD装运点自动带出逻辑详解:从销售订单到交货单的完整流程与配置检查清单
SAP SD装运点自动带出逻辑深度解析:从销售订单到交货单的实战指南 在SAP SD模块中,装运点(Shipping Point)的自动决定机制是供应链执行的核心枢纽。想象一下这样的场景:当销售团队在系统中录入一笔跨国订单时ÿ…...
电商客服+导购智能体的设计与开发翁
这个代码的核心功能是:基于输入词的长度动态选择反义词示例,并调用大模型生成反义词,体现了 “动态少样本提示(Dynamic Few-Shot Prompting)” 与 “上下文长度感知的示例选择” 的能力。 from langchain.prompts impo…...
智能制造工业互联网工业大数据建设方案:工业大数据架构、工业大数据建模、关键应用场景、平台架构、全生命周期服务、管理与应用体系
本方案围绕工业4.0,构建“云、移、物、大、智”融合的工业大数据平台,实现数据采集、数据湖分析与机器学习建模,支撑预测性维修、生产过程优化、人机协同等应用,助力企业提升效率、降低运营成本,推动智能制造转型。 工…...
【小白学习大模型】第一天,本地服务器部署大模型
目前部署的Qwen2.5最新结果:(llm_lab) yukeweiinin5880-Virtual-Machine:~/test_qwen$ /home/yukewei/miniconda3/envs/llm_lab/bin/python /home/yukewei/test_qwen/test_qwen2.5_basic.py 正在从本地加载模型,请耐心等待... Failed to load /home/yuke…...
DeOldify性能调优实战:针对显存与推理速度的优化策略
DeOldify性能调优实战:针对显存与推理速度的优化策略 你是不是也遇到过这种情况?好不容易部署好了DeOldify,准备给家里的老照片上色,结果一运行,程序就报错,提示显存不足。或者,虽然能跑起来&a…...
PTP时间同步:从报文结构到协议实现
1. PTP协议基础:从时钟同步到报文分类 想象一下,你正在组织一场跨洲视频会议,纽约、伦敦、东京的同事需要同时看到演示文档翻页。如果三地电脑时钟误差超过1秒,就会出现有人提前看到下一页的尴尬场景。这就是**精确时间协议&#…...
淘宝算法升级背后:主图视觉标准重构与 AI 工具降本增效全复盘
最近与淘宝做搜索流量的高手深度复盘之后,大家普遍发现一个扎心的事实:以前那种“大红大绿、卖点堆满”的暴力主图,在现在的淘宝算法面前几乎失效了 现在的淘宝正处于一个“视觉大调头”的阶段。如果还在用两年前的套路做图,你会…...
nli-distilroberta-base实战案例:客服对话意图一致性校验系统构建
nli-distilroberta-base实战案例:客服对话意图一致性校验系统构建 1. 项目背景与价值 在客服对话场景中,经常出现前后回答不一致的问题。比如客户询问"产品是否支持7天无理由退货",客服先回答"支持",过一会…...
