细节 模式js

访问者模式

目录访问者模式概述结构案例实现优缺点使用场景扩展 访问者模式 概述 定义: 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 结构 访问者模式包含以下主要角色: 抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行 ......
访问者 模式

备忘录模式

目录备忘录模式概述结构案例实现“白箱”备忘录模式“黑箱”备忘录模式优缺点使用场景 备忘录模式 概述 定义: 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo)操作,如 ......
备忘录 模式

行为型模式-模板方法模式

1 什么是模板方法模式 模板方法模式是一种行为设计模式,它定义了一个算法的骨架,将一些步骤的具体实现延迟到子类中。这样可以在不改变算法结构的情况下,允许子类根据自身的需求来实现特定的步骤。 模板方法模式通常由一个抽象基类提供一个模板方法,该方法定义了算法的骨架,并调用一系列的抽象和/或具体方法。子类 ......
模式 模板 行为 方法

记从polyhaven下载贴图文件应用到three.js的问题

下载到的贴图文件 在three.js中主要用到了rubber_tiles_ao_1k.jpg、rubber_tiles_diff_1k.jpg、rubber_tiles_disp_1k.png这三张贴图。 后缀为arm的贴图尚未使用。(ARM即 Albedo(反照率)、Rougness(粗糙度)、M ......
polyhaven 文件 贴图 问题 three

不要仅局限于技术实现细节

星球群里,有同学问了这样一个问题:docker的性能是不是没有本地服务好?问题的背景大概是技术负责人向CTO汇报的PPT如此写道:考虑到性能问题,当前微服务架构暂时不采用docker部署管理。 docker的性能真的不好吗?微服务架构下适不适合采用docker部署和管理应用节点?要回答这个问题,要放 ......
细节 技术

如何解决js地址栏中传递中文乱码的问题

首先,地址栏传中文是很不明智的,因为不同的浏览器对与中文的解析存在不同的方法。所以,建议如果能不用尽量不要用。 当然,很多时候奇葩需求要求我们必须解决这个办法。 下面,是解决个别奇葩需求的方法。 在中文参数加入到地址栏之前进行转码。(注意,简单转码是不可以的,浏览器会根据编码方式对已经编码的部分进行 ......
乱码 地址 问题

简单工厂、工厂方法模式、抽象工厂模式

简单工厂 : 用来生产同一等级结构中的任意产品。(不支持拓展增加产品) 工厂方法 :用来生产同一等级结构中的固定产品。(支持拓展增加产品) 抽象工厂 :用来生产不同产品族的全部产品。(支持拓展增加产品;支持增加产品族) 简单工厂的适用场合:只有伦敦工厂(只有这一个等级),并且这个工厂只生产三种类型的 ......
工厂 模式 方法

建造者模式

计算机组装 使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算机的类型可以是笔记本,也可以是台式机。 实验要求: 画出对应的类图; 2. 提交源代码; 3. #include<iostream> 4. #include<string> 5. ......
模式

2023 CSP-JS 游记

2023 CSP-JS 游记 考点在南航,去的时候穿着和 NFLS 几乎一样的校服,成功地蛊惑了不少人。 普及 早早的起床,不得不说确实挺冷。在南航的门口遇到了 wst,打过招呼就进校门去集合点集合了,wst 还在校门口等人。集合点环顾四周并没有认识的人。 到处都是南外的人,校服非常显眼。Splay ......
游记 CSP-JS 2023 CSP JS

Ubuntu更新源文件报错:E: 仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release” 没有 Release 文件。

E: 仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release” 没有 Release 文件。 一条命令解决 sudo add-apt-repository --remove ppa:chris-lea/node.js ......
Release 源文件 仓库 chris-lea launchpad

使用cmake-js 构建node addon

cmake-js 是nodejs 包装的cmake,可以用来方便的进行nodejs native 项目的构建,以下是一个试用 简单项目 项目结构 ├── CMakeLists.txt ├── hello_world.cc ├── index.d.ts ├── lib │ ├── binding.d. ......
cmake-js cmake addon node js

设计模式—结构型模式之享元模式

设计模式—结构型模式之享元模式 享元模式(Flyweight Pattern),运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。对象结构型。 在享元模式中可以共享的相同内容称为内部状态(IntrinsicState),而那些 ......
模式 结构型 设计模式 结构

nvm--node.js的多版本管理

背景 接触的项目有点多,其中有些项目对node的版本有一定的要求。 比如有个项目没有用npm或者yarn,而是用了pnpm。 而pnpm8要求的node必须是大于等于v16.14,而且node v17+目前是不兼容webpack v4, 该项用用的是webpack v4,所以node的版本只能是大于 ......
版本 node nvm js

JavaSE面试题02:单例设计模式

通俗解释:单例模式 > 单:唯一 > > 例:实例 > > 单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式 > > 例如:代表JVM运行环境的Runtime类 ......
设计模式 模式 JavaSE

学习随笔(设计模式:建造者模式)

内容 今天学习了建造者模式。 1.建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 2.简单来说就是一个类的所有的特性方法与这个类对象的构建分离 3.本来觉得有点类似于工厂模式,但细想又不太一样。工厂模式是创建一个类,这个类用来创新用户所关注的类对象,类的构建也 ......
模式 设计模式 随笔

使用Node.js 常见的问题

"command not found" 错误 * 解决方法: * 在命令行中输入以下命令: bash sudo yum install nodejs sudo yum install npm 使用btoa()和atob()函数处理字符串 * 解决方案: * 使用`Buffer.from()`和`.t ......
常见 问题 Node js

设计模式-享元模式

参考:https://blog.csdn.net/shuai_h/article/details/129701459 概述 -运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 优缺点 优点 极大减 ......
模式 设计模式

虚拟机桥接模式(网络渗透测试2)

题目: 1、Kali虚拟机采用桥接模式;物理机连接Guet-WiFi,Kali中查看网络配置并截图,能获得IP地址吗?2、Kali虚拟机采用桥接模式;物理机连接手机热点,Kali中查看网络配置并截图,能获得IP地址吗?3、对于1、2的结果,进行总结分析。 首先我们需要知道桥接模式,桥接模式即将主机网 ......
模式 网络

抽象工厂模式

[实验任务一]:人与肤色 使用抽象工厂模式,完成下述产品等级结构: 画出对应的类图; 提交源代码; Black.java package PeopleAndSkinColor; public class Black implements Color{ @Override public Man pro ......
工厂 模式

享元模式

目录享元模式概述结构案例实现优缺点和使用场景JDK源码解析 享元模式 概述 定义: ​ 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 结构 享元(Flyweight )模式中存在以下两种状态: ......
模式

模版方法模式

目录模版方法模式概述结构案例实现优缺点适用场景JDK源码解析 模版方法模式 概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如,去银行办理业务一般要经 ......
模版 模式 方法

策略模式

目录策略模式概述结构案例实现优缺点使用场景JDK源码解析 策略模式 概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发,也可以使用eclipse ......
策略 模式

命令模式

目录命令模式概述结构案例实现优缺点使用场景JDK源码解析 命令模式 概述 日常生活中,我们出去吃饭都会遇到下面的场景。 定义: 将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加与管理。 结构 命令模式包含 ......
命令 模式

组合模式

目录组合模式概述结构案例实现组合模式的分类优点使用场景 组合模式 概述 ​ 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的 ......
模式

js深拷贝function

js拷贝函数怎么操作 使用bind()方法 JavaScript的函数提供了bind()方法,可以用来创建一个新函数,该函数与原函数具有相同的代码,但其上下文和部分参数可以绑定。通过使用空的上下文和参数,可以实现函数的拷贝。 function originalFunction() { console ......
拷贝 function

为什么说SaaS模式的CRM系统是更好的选择?

在以前,CRM系统只有本地部署一个选择。但近年来,SaaS模式CRM逐渐火热。SaaS模式CRM系统联网即可访问,不需要用户在自己的服务器上安装和运行,通过订阅的方式即可获得服务。下面说说,选择SaaS模式CRM系统的理由。 1、费用更低 使用SaaS模式CRM系统,只需要支付账号费用,就可以通过浏 ......
模式 系统 SaaS CRM

原生JS使用window.location进行传参

页面一 发送 location.href='./addUpdate.html?pageName=添加' 页面二 接受 console.log(decodeURI(location.search.split('=')[1])); ......
location window

SpringBoot 策略模式 切换上传文件模式

策略模式 策略模式是指有一定行动内容的相对稳定的策略名称。 我们定义一个接口(就比如接下来要实现的文件上传接口) 我们定义所需要实现的策略实现类 A、B、C、D(也就是项目中所使用的四种策略阿里云Oss上传、腾讯云Cos上传、七牛云Kodo上传、本地上传) 我们通过策略上下文来调用策略接口,并选择所 ......
模式 SpringBoot 策略 文件

安装install的项目的报错sass npm ERR! node-sass@4.14.1 postinstall: `node scripts/build.js`

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@4.14.1 postinstall: `node scripts/build.js` npm ERR! Exit status 1 npm ERR! npm ERR! Fail ......
sass node postinstall node-sass install

学习随笔(设计模式:外观模式)

内容 今天学习了外观模式。 1.外观模式,为子系统中的一组接口提供了一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 2.起始很多现在的软件思路都是遵从于外观模式,它完美的依赖倒转原则和迪米特法则的思想。 3.软件编程采用三层架构,数据访问层、业务逻辑层,并将各个层之间 ......
模式 设计模式 随笔 外观