06 2023 档案
摘要:参考资料: 1. [sql语句的执行顺序以及流程(最新,最全,直接用)](https://huaweicloud.csdn.net/63356958d3efff3090b56293.html) > SELECT语句执行顺序 1. __FROM__ : 从右往左,组装来自不同数据源的数据(包括ON J
阅读全文
摘要:参考资料: 1. [Docker 教程 | 菜鸟教程](https://www.runoob.com/docker/docker-dockerfile.html) Dockerfile是用于构建Docker镜像的文本文件,它包含了构建镜像所需的所有指令和配置信息。使用Dockerfile可以方便地构
阅读全文
摘要:参考资料: 1. [Docker 从入门到实践](https://yeasy.gitbook.io/docker_practice/introduction) 2. [Docker 教程 | 菜鸟教程](https://www.runoob.com/docker/docker-tutorial.ht
阅读全文
摘要:命令模式是一种行为型设计模式,它允许将请求封装成对象,从而使您能够将不同的请求发送到队列或日志中,以及支持可撤销的操作。 > 示例代码 ```java //定义命令接口 public interface Command { void execute(); } //具体命令 public class
阅读全文
摘要:参考资料: 1. [Docker 从入门到实践](https://yeasy.gitbook.io/docker_practice/introduction) 2. [Docker 教程 | 菜鸟教程](https://www.runoob.com/docker/docker-tutorial.ht
阅读全文
摘要:Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 参考资料: 1. [Docker 从入门到实践](https
阅读全文
摘要:访问者模式是Java中的一种行为型设计模式,它允许你定义在不改变被访问对象(如类、接口等)结构的前提下,对其内部的元素访问和操作。该模式适用于需要对一个复杂对象结构(如代码中的类层次结构)进行多种不同操作的场景。 > 示例代码 ```java // 定义被访问者接口 interface Elemen
阅读全文
摘要:观察者模式是一种行为设计模式,它允许对象在发生特定事件时通知其他对象。这些被通知的对象被称为观察者,而通知它们的对象称为主题或可观察对象。该模式使用了松散耦合的原则,因此主题和观察者之间没有太多的依赖关系。 > 示例代码: ```java import java.util.ArrayList; im
阅读全文
摘要:在不使用状态模式之前,我们经常通过 ```java if(state1) { // do state1 something } else if(state2) { // do state2 something } else { // do other something } ``` 在状态设计模式中
阅读全文
摘要:策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在策略模式中,我们定义了多个算法,并将每个算法封装在一个独立的类中(__策略类__),以便在运行时根据需要进行切换。这使得算法与调用其算法的客户端代码分离,从而实现了更高的灵活性和可维护性。 主要实现方式:1 策略接口 -> n * 具体策略
阅读全文
摘要:解释器模式是一种行为型设计模式,它定义了一种语言并解析该语言中的表达式。这种模式用于将一个表达式文法表示成一个抽象语法树,从而使得我们可以通过对语法树进行遍历来解释整个表达式。 在解释器模式中,包含以下几个角色: - 抽象表达式(AbstractExpression):定义了一个抽象的解释操作,具体
阅读全文
摘要:中介者模式是一种行为型设计模式,它的主要目的是减少多个对象之间的直接通信,并通过一个中介者对象来协调它们之间的交互。这样可以降低系统的复杂性,增加可维护性和灵活性。 > 示例代码 ```java // 中介者接口 interface Mediator { void sendMessage(Strin
阅读全文
摘要:备忘录模式是一种行为型设计模式,用于保存对象的状态,以便在需要时恢复该状态。它通常用于撤销操作或回滚事务。 > 示例代码 ```java // 被保存状态的对象 class Originator { private String state; public void setState(String
阅读全文
摘要:职责链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到其中一个处理者能够处理该请求为止。 > 示例代码 ```java // 抽象处理者 public abstract class Handler { protected Handler successor; public void
阅读全文
摘要:模板模式是一种行为设计模式,它允许将算法的结构与实现分开,从而使得实现可以在不改变算法结构的情况下被重用。模板模式的核心思想是定义一个抽象基类,其中包含了算法的骨架,但是具体的步骤延迟到子类中去实现。这样一来,同一套算法的不同实现可以共享同一个基类代码,从而避免了代码的重复。简单来说,就是抽象类!
阅读全文
摘要:迭代器模式主要用于遍历集合类中的元素,让我们能够更方便地访问和操作集合中的每一个元素。Java内部集合就实现了迭代器模式。 > 示例代码:使用ArrayList中的iterator ```java import java.util.ArrayList; import java.util.Iterat
阅读全文
摘要:外观模式是一种结构型设计模式,它为复杂子系统提供了一个统一的接口,从而使其更易于使用。外观模式隐藏了子系统的复杂性,并将其封装在一个高级接口中。在使用外观模式时,客户端只需要与外观对象进行交互,而不需要直接与子系统中的各个组件交互。 ```java // 子系统中的组件 class CPU { pu
阅读全文
摘要:代理模式是一种常见的设计模式,它允许一个对象在不改变其行为的情况下,控制对另一个对象的访问。代理模式通常用于保护敏感对象,或者为了延迟实际对象的加载。 在Java中,代理模式有两种形式:静态代理和动态代理。静态代理需要手动编写代理类,而动态代理则可以在运行时自动生成代理类。 > 示例代码:__静态代
阅读全文