软件设计模式系列之二十一——观察者模式

观察者模式(Observer Pattern)是一种行为型设计模式,它允许对象之间建立一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这个模式也被称为发布-订阅模式,因为它模拟了一个主题(发布者)与多个观察者(订阅者)之间的关系。观察者模式主要用于实现对象之间...

软件设计模式系列之十九——中介者模式

@目录1 模式的定义2 举例说明3 结构4 实现步骤5 代码实现6 典型应用场景7 优缺点8 类似模式9 小结 1 模式的定义 中介者模式是一种行为型设计模式,它用于降低对象之间的直接通信,通过引入一个中介者对象来管理对象之间的交互。这种模式有助于减少对象之间的耦合性,使系统更加可维护和扩展。中介者

软件设计模式系列之十八——迭代器模式

迭代器模式是一种行为型设计模式,它允许客户端逐个访问一个聚合对象中的元素,而不暴露该对象的内部表示。迭代器模式提供了一种统一的方式来遍历不同类型的集合,使客户端代码更加简洁和可复用。

软件设计模式系列之十七——解释器模式

解释器模式是一种行为型设计模式,它用于将一种语言或表达式解释为对象。该模式通过定义语言的文法规则,并使用解释器来解释和执行这些规则,将复杂的语言转换为对象的操作。 在软件开发中,解释器模式常用于处理类似于编程语言、查询语言、正则表达式等需要解释和执行的场景。它将一个复杂的语言分解为一系列简单的规则,...

软件设计模式系列之十六——命令模式

命令模式(Command Pattern)是一种行为型设计模式,旨在将请求发送者和接收者解耦,将一个请求封装为一个对象,从而允许您参数化客户端对象以进行不同的请求、排队请求或记录请求,并支持可撤销操作。 命令模式的核心思想是将一个请求包装成一个对象,包括请求的参数和接收者对象,然后客户端只需要调用该...

软件设计模式系列之十五——职责链模式

职责链模式(Chain of Responsibility Pattern)也称为责任链模式,是一种结构型设计模式,用于构建一条对象处理请求的责任链。在这个模式中,多个对象依次处理请求,直到其中一个对象能够处理该请求为止。职责链模式将请求的发送者和接收者解耦,允许多个对象都有机会处理请求,同时可以动...

PerfView专题 (第十三篇):洞察 .NET程序 的非托管句柄泄露

## 一:背景 ### 1. 讲故事 前几天写了一篇 `如何洞察 .NET程序 非托管句柄泄露` 的文章,文中使用 WinDbg 的 `!htrace` 命令实现了句柄泄露的洞察,在文末我也说了,WinDbg 是以侵入式的方式解决了这个问题,在生产环境中大多数情况下是不能走附加进程的模式,所以这也是

深度学习(十)——神经网络:非线性激活

主要介绍了ReLU和Sigmiod两种非线性激活函数,以及在神经网络中进行非线性转换的目的。

深度学习(十四)——优化器

反向传播可以求出神经网路中每个需要调节参数的梯度,优化器可以根据梯度进行调整,达到降低整体误差的作用。本节我们对优化器进行介绍。

中国敏捷十年实践者分享:敏捷教练的自我修为

摘要:在TiD2022质量竞争力大会上来自华为云开发者联盟的首席布道师带来“敏捷教练的自我修为”主题分享。 本文分享自华为云社区《中国敏捷十年实践者分享:敏捷教练的自我修为》,作者: kaverjody。 大家好,我叫徐毅,非常感谢也非常高兴今天有机会在TiD2022质量竞争力大会上就“敏捷教练的自

教你如何进行数仓字符串、二进制、十六进制互转

现网中遇到很多小伙伴不清楚字符串与进制之间的转换方法,其实在GaussDB(DWS)中,进制转换是非常方便的。

华为云新一代iPaaS全域融合集成平台全新升级

摘要:基于华为十多年的数字化转型实践,华为云通过组装式交付、数智驱动、DevOps、服务化架构、安全可信、韧性6大关键技术助力客户实现应用现代化和高质量增长,华为云新一代iPaaS全域融合集成平台ROMA Connect也应运而生。 本文分享自华为云社区《华为云新一代iPaaS全域融合集成平台全新升

JavaCV的摄像头实战之十二:性别检测

实现性别检测并在预览窗口实时展现

JavaCV的摄像头实战之十三:年龄检测

在前面《性别检测》的基础上,修改少量代码,即可实现年龄检测和实时预览的效果

JavaCV的摄像头实战之十四:口罩检测

使用JavaCV与百度AI开放平台,实现对摄像头内人脸的口罩检测

quarkus依赖注入之十:学习和改变bean懒加载规则

为了降低启动时间,quarkus下的常规作用域bean遵循懒加载规则,但有时我们希望bean可以更早实例化,本篇,咱们一起来了解懒加载规则和改变规则的方法

quarkus依赖注入之十一:拦截器高级特性上篇(属性设置和重复使用)

体验拦截器的高级功能,设置拦截器属性并在实现中使用此属性,这样同一个拦截器在不同位置可以发布不同效果,更可以将同一个拦截器设置不同属性,叠加使用在同一个地方

quarkus依赖注入之十二:禁用类级别拦截器

通过编码实战了解quarkus拦截器的另一个高级特性:禁用类级别拦截器,这样可以避免类级别和方法级别拦截器的叠加冲突

quarkus依赖注入之十三:其他重要知识点大串讲(终篇)

通过编码实战了解quarkus拦截器的另一个高级特性:禁用类级别拦截器,这样可以避免类级别和方法级别拦截器的叠加冲突

跟女朋友介绍十个常用的 Python 内置函数,她夸了我一整天

内置函数是什么 了解内置函数之前,先来了解一下什么是函数 将使用频繁的代码段进行封装,并给它起一个名字,当我们使用的时候只需要知道名字就行 函数就是一段封装好的、可以重复使用的代码,函数使得我们的程序更加简洁、模块化,提高了代码的复用性 举个例子 我想实现一个求球表面积功能的程序,当我们知道半径 r