细节 模式

访问者模式

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

备忘录模式

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

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

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

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

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

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

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

建造者模式

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

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

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

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

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

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

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

设计模式-享元模式

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

组合模式

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

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

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

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

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

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

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

迭代器模式--Java实现

具体代码 //Student.java package org.example.test016; public class Student { public String getId() { return id; } public void setId(String id) { this.id = ......
模式 Java

命令模式--Java实现

相关类图 具体代码 //Invoker.java package org.example.test015; public class Invoker { public void setCommand(Command command) { this.command = command; } priva ......
命令 模式 Java

命令模式

实验16:命令模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解命令模式的动机,掌握该模式的结构; 2、能够利用命令模式解决实际问题。 [实验任务一]:多次撤销和重复的命令模式 某系统需要提供一个命令集合(注:可以使用链表,栈等集合对象实现),用于存储一系列命令对象,并通过该命 ......
命令 模式

每日随笔——外观模式

实验任务一]:计算机开启 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load( ......
随笔 外观 模式

实验18:迭代器模式

软件设计 石家庄铁道大学信息学院 实验18:迭代器模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解迭代器模式的动机,掌握该模式的结构; 2、能够利用迭代器模式解决实际问题。 [实验任务一]:JAVA和C++常见数据结构迭代器的使用 信1305班共44名同学,每名同学都有姓名, ......
模式

Java设计模式之命令模式

命令模式(Command Pattern)是一种行为型设计模式,又叫动作模式或事务模式。它将请求(命令)封装成对象,使得可以用不同的请求对客户端进行参数化,具体的请求可以在运行时更改、排队或记录,它讲发出者和接收者解耦(顺序:发出者-->命令-->接收者)本质:封装请求 抽象命令(Command): ......
模式 设计模式 命令 Java

Java设计模式之迭代器模式

迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 抽象迭代器(Iterator):定义了遍历聚合对象所需的方法,包括hashNext()和next ......
模式 设计模式 Java

实验迭代器模式

实验18:迭代器模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解迭代器模式的动机,掌握该模式的结构; 2、能够利用迭代器模式解决实际问题。 [实验任务一]:JAVA和C++常见数据结构迭代器的使用 信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA ......
模式

11月15日《软件需求模式》阅读笔记二

今天我开始阅读《软件需求模式》这本书的第3,4章,以下是从这本书中获得的一些知识。 其中第3章描述了需求模式扮演的角色,解释了每个模式的一些具体内容和具体结构。而第4章则介绍了何时以及如何去使用需求模式,如何从原有的模式创造出新的模式或者直接编写新的模式。 第3章首先为我们解释了需求模式的概念:定义 ......
需求 模式 笔记 软件

Netty源码学习4——服务端是处理新连接的&netty的reactor模式

系列文章目录和关于我 零丶引入 在前面的源码学习中,梳理了服务端的启动,以及NioEventLoop事件循环的工作流程,并了解了Netty处理网络io重要的Channel ,ChannelHandler,ChannelPipeline。 这一篇将学习服务端是如何构建新的连接。 一丶网络包接收流程 当 ......
源码 reactor 模式 Netty netty