深入学习设计模式

news/2025/2/8 15:43:14 标签: 学习, 设计模式

创建型模式
单例模式
确保一个类只有一个实例,并提供全局访问点。
实现方式:懒汉式、饿汉式、双重校验锁等。
使用场景:配置管理器、线程池等。
工厂模式
通过工厂类创建对象,隐藏对象的创建细节。
简单工厂模式、工厂方法模式、抽象工厂模式的区别。
使用场景:创建多种类型的对象,但不想暴露创建逻辑。
结构型模式
适配器模式
将不兼容的接口转换为兼容的接口。
类适配器和对象适配器的区别。
使用场景:整合第三方库或遗留代码。
代理模式
通过代理类控制对真实对象的访问。
静态代理和动态代理的区别。
使用场景:权限控制、远程调用、缓存等。
行为型模式
策略模式
定义一系列算法,并在运行时动态选择算法。
策略模式的结构:策略接口、具体策略类、上下文类。
使用场景:算法选择、行为切换。
观察者模式
对象间的一对多依赖关系,当一个对象改变时,所有依赖它的对象都会被通知。
观察者模式的结构:主题接口、具体主题类、观察者接口、具体观察者类。
使用场景:事件驱动、消息通知。


http://www.niftyadmin.cn/n/5845041.html

相关文章

RabbitMQ:windows最新版本4.0.5安装方案

前言 正在尝试学习RabbitMQ,因此考虑在windows上装一个最新版本来实验 关于安装,主要需要注意:先装与目标RabbitMQ版本对应的Erlang版本 这是官方给的对应版本兼容图: 我们需要安装4.0.5版本的RabbitMQ,则需要选择26.2…

android studio无痛入门

在Android Studio中创建和管理项目主要涉及以下几个步骤: 1. 创建新项目 打开Android Studio,点击“Start a new Android Studio project”或者“File” > “New” > “New Project”。 选择一个模板,例如“Empty Activity”&#xff0…

Redis Copilot:基于Redis为AI打造的副驾工具

我们最近发布了Redis Copilot,以帮助开发者更快地使用Redis构建应用。我们的使命是使应用程序快速运行,并简化构建过程。为此,Redis Copilot作为您的AI助手,能够让您更迅速地完成与Redis相关的任务。您今天就可以在Redis Insight中…

RabbitMQ 从入门到精通:从工作模式到集群部署实战(四)

#作者:闫乾苓 系列前几篇: 《RabbitMQ 从入门到精通:从工作模式到集群部署实战(一)》:link 《RabbitMQ 从入门到精通:从工作模式到集群部署实战(二)》: lin…

Java基础学习笔记-static关键字

>一个类可以创建n个对象。如果n个对象中的某些数据需要共用,就需要使用static关键字修 饰这些数据。 >Java中,一般情况调用类的成员都需要先创建类的对象,然后通过对象进行调用。使用static关键字可以实现通过类名加“.”直接调用类的…

OSPF基础(3):区域划分

OSPF的区域划分 1、区域产生背景 路由器在同一个区域中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。OSPF域如果仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸…

deepseek 的离线部署-AI大模型

官方网址 官方地址:Ollama Ollama目前支持以下大语言模型:library Ollama下载地址:https://ollama.com/download/ollama-linux-amd64.tgz 三:安装部署Ollama 1.官方脚本安装 注意:服务器需要可以访问github等外网

Visual Studio(VS)没有显示垂直滚轮or垂直滚轮异常显示

前言: 前段时间,我换上了新电脑。满心欢喜地安装好 VS,准备大干一场时,却发现了一个小麻烦 —— 垂直滚轮显示异常(如图 1)。这种显示方式实在让我难以适应,每一次操作都觉得别扭。 于是&#…