当前位置: 首页 > news >正文

༺༽༾ཊ—设计-七个-07-原则-模式—ཏ༿༼༻

第七原则:迪米特职责

        类与类之间的耦合度尽可能低

换言之,我们可以理解成———只与直接朋友说话,不跟陌生人说话

直接朋友:

通过方法传参传进来的朋友,

类自己的字段,

构造函数进来的也是直接朋友,

总的来说,类直接能接触到的朋友就是直接朋友

而陌生人是:比如代码中的Rectangle,第一不是自己的字段,第二不是构造函数或者通过函数传参传进来的,它只是某个方法中的局部变量,也就是说没有直接联系的就是陌生人。

End

相关文章:

༺༽༾ཊ—设计-七个-07-原则-模式—ཏ༿༼༻

第七原则:迪米特职责 类与类之间的耦合度尽可能低 换言之,我们可以理解成———只与直接朋友说话,不跟陌生人说话 直接朋友: 通过方法传参传进来的朋友, 类自己的字段, 构造函数进来的也是直接朋友&…...

一篇文章带你搞懂---全排序

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C/C》 《LeedCode刷题》 键盘敲烂,年薪百万! 全排序(Permutation)是指将一组元素按照一定的顺序进行排列的过程。在计算机科学中,全排序是一…...

提升问题检索的能力

事实上,在信息极度丰富的时代,信息检索和筛选能力格外重要。一些搜索引擎的出现已极大地方便了我们日常的信息检索,此处需要注意的是我们不能仅仅局限于常见的搜索引擎,也需要关注和积累一些专业平台或是具有集成功能的引擎&#…...

软件测试|SQLAlchemy query() 方法查询数据

简介 上一篇文章我们介绍了SQLAlchemy 的安装和基础使用,本文我们来详细介绍一下如何使用SQLAlchemy的query()方法来高效的查询我们的数据。 创建模型 我们可以先创建一个可供我们查询的模型,也可以复用上一篇文章中我们创建的模型,代码如…...

FlinkCDC的分析和应用代码

前言:原本想讲如何基于Flink实现定制化计算引擎的开发,并以FlinkCDC为例介绍;发现这两个在表达上不知以谁为主,所以先分析FlinkCDC的应用场景和技术实现原理,下一篇再去分析Flink能在哪些方面,做定制化计算…...

序章 搭建环境篇—准备战士的剑和盾

第一步:安装node.js Node.js 内置了npm,只要安装了node.js,就可以直接使用 npm,官网地址: Download | Node.js 在这里不建议安装最新版本的node.js,可以选跟我一样的版本,node版本v16.13.2 链…...

【C++】vector的使用及模拟实现

目录 一、vector的介绍及使用1.1 介绍vector1.2 vector的使用1.2.1 构造1.2.2 遍历访问1.2.3 容量空间1.2.4 增删查改 二、vector的模拟实现2.1 成员变量2.2 迭代器相关函数2.3 构造-析构-赋值重载2.3.1 无参构造2.3.2 有参构造12.3.3 有参构造22.3.4 拷贝构造2.3.5 赋值重载2.…...

【数据库】sql优化有哪些?从query层面和数据库层面分析

目录 归纳sql本身的优化数据库层面的优化 归纳 这类型问题可以称为:Query Optimization,从清华AI4DB的paper list中,该类问题大致可以分为: Query RewriterCardinality EstimationCost EstimationPlan Optimization 从中文的角…...

nginx基本优化

安装nginx隐藏版本号 查看百度web服务器 [rootcjq11 ~]# curl -I http://www.baidu.com 隐藏nginx服务器版本号 [rootcjq11 ~]# cd /usr/local/src/nginx-1.22.0/ [rootcjq11 nginx-1.22.0]# vim src/core/nginx.h第13、14行修改版本号和服务器名称 [rootcjq11 nginx-1.2…...

软件测试|使用selenium处理单选框和多选框

简介 我们在web自动化测试工作中,经常会遇到对单选框(Radio Buttons)或者多选框(Checkboxes)进行操作的场景,单选框和多选框主要是用于我们做出选择或提交数据。本文将主要介绍selenium对于单选框和多选框…...

openssl3.2 - EVP_CIPHER_fetch算法名称字符串(参数2)的有效值列表

文章目录 openssl3.2 - EVP_CIPHER_fetch算法名称字符串(参数2)的有效值列表概述如何找到算法名称字符串列表?openssl-3.2.0\providers\implementations\include\prov\names.h备注END openssl3.2 - EVP_CIPHER_fetch算法名称字符串(参数2)的有效值列表 概述 进行加解密时, 先…...

vue3中的hook公共函数封装及运用

vue3 中的 hooks 就是函数的一种写法,就是将文件的一些单独功能的js代码进行抽离出来,放到单独的js文件中,或者说是一些可以复用的公共方法/功能 使用Vue3的组合API封装的可复用的功能函数自定义hook的作用类似于vue2中的mixin技术自定义Hook…...

广州市工信局、天河区商务金融局及广州专精特新促进会走访思迈特

2024年1月11日下午,广州市工信局、天河区商务金融局及广州专精特新促进会相关负责人莅临广州思迈特软件总部调研指导,思迈特软件总裁兼COO姚诗成代表公司热情接待,并陪同调研。 调研组实地参观了思迈特软件,深入了解了思迈特发展历…...

vi编辑器显示行号和不显示行号切换命令

文章目录 1.临时生效只需要在vi编辑器里面输入1.1.显示行号1.2.不显示行号 2.永久生效 1.临时生效只需要在vi编辑器里面输入 1.1.显示行号 set number 或者 set nu如下图 1.2.不显示行号 set nonumber 或者 set nonu2.永久生效 首先打开配置文件/etc/vim/vimrc,向文件中添…...

使用 LLVM clang C/C++ 编译器编译 boost 基础框架类库

1、下载 boost 1.84 库的源代码放到待编译目录 2、解压并接入 boost 1.84 库源码的根目录 搜索默认的 clang 版本,WSL 2.0/Ubuntu 18.04 LTS 为 clang 6.x 执行命令: ./bootstrap.sh --with-toolsetclang ./b2 toolsetclang 另外一个方法比较麻烦需要…...

推荐一款.NET开发的物联网开源项目

物联网(IoT)是一个正在快速发展的技术领域,它涉及到各种设备、物体和系统的互联。所以各种物联网平台和物联网网关项目层出不穷,在物联网(IoT)领域,.NET平台扮演着重要的角色。作为一款广泛使用…...

正则表达式 (用于灵活匹配文本的表达式)

目录 . * . 用于匹配任意单个字符,除了换行符。 例如使用正则表达式 a.b, 它可以匹配aab、acb、a#b * 用于匹配前一个字符零次或多次。 例如,使用正则表达式 ab*c,它可以匹配 "ac"、"abc"、"abbc"&#…...

基于4G数采终端的供热管网在线监测方案

我国大部地区全面进入到冬季,北方各地已开启冬季供暖,以保障居民生活所需。由于城市化的发展,城市内各供热区域愈发分散、供热管道漫长、供热环境复杂,对于供热管网及换热站点的监测和维护提出了诸多挑战。 方案介绍 针对提高供热…...

OPC UA 开源库编译方法及通过OPC UA连接西门S7-1200 PLC通信并进行数据交换[一]

前言 在现代工业自动化领域,OPC UA(开放性生产控制和统一架构)是一种广泛应用的通信协议。本文将以通俗易懂的方式解释OPC UA的含义和作用,帮助读者更好地理解这一概念。 一、OPC UA的定义 OPC UA全称为“开放性生产控制和统一…...

2019年认证杯SPSSPRO杯数学建模B题(第二阶段)外星语词典全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 基于统计和迭代匹配的未知语言文本片段提取模型 B题 外星语词典 原题再现: 我们发现了一种未知的语言,现只知道其文字是以 20 个字母构成的。我们已经获取了许多段由该语言写成的文本,但每段文本只是由字母…...

MLQM:用机器学习加速量子比特映射,破解量子编译“最后一公里”难题

1. 项目概述与核心挑战量子计算这行,这几年硬件跑得飞快,但软件栈这块,尤其是怎么把咱们写的量子程序高效、保真地“烧录”到真实的量子芯片上,一直是个头疼的“最后一公里”问题。这其中的关键一步,就是量子比特映射。…...

[智能体-36]:借系统之势,成个人之才——从AI协同逻辑悟职业选择之道

大模型智能体可调用专业工具所展现出来的强大能力表明:大模型个人的能力再强,没有好的管理调度系统和外部执行层的支持,理论水平再博大精深,也只是缸中之脑,空中楼阁,停留在嘴上吹牛,无法有效执…...

Keil µVision项目复制后构建失败的诊断与解决

1. 问题现象与背景解析最近在Keil Vision开发环境中遇到一个典型的"项目复制后构建失败"问题:将一个原本正常编译的C语言项目复制到新目录后,仅做了少量修改,却突然出现error (40): expected an identifier or (的语法错误。这种情…...

解决Keil C51项目中PL/M-51编译警告导致构建失败问题

1. 问题现象与背景分析当使用Keil Vision IDE进行C51项目开发时,许多工程师都遇到过这样一个棘手情况:在点击"Build target"或"Rebuild all target files"后,编译过程会在某个PL/M-51源文件处突然停止。输出窗口显示该文…...

SRC 漏洞挖掘实战|反射型 XSS 漏洞详解、复现全流程与 SRC 报告模板

反射型 XSS 是 Web 安全领域入门级高频漏洞,也是 SRC 漏洞提交中最易上手的类型之一。它无数据持久化存储、触发方式简单、测试门槛极低,是零基础网安爱好者入门漏洞挖掘的首选突破口。本文从核心原理、危害、挖掘思路、实战复现到标准报告模板全流程拆解…...

技术人的持续学习:保持竞争力的完整指南

技术人的持续学习:保持竞争力的完整指南 引言 在快速发展的技术领域,持续学习是保持竞争力的关键。技术更新的速度越来越快,新的编程语言、框架和工具不断涌现。作为一名技术人,只有不断学习,才能跟上技术发展的步伐&a…...

AI时代的个人隐私与网络安全自保——从账号密码到设备行为的完整体系

一个很多人没做但很简单的事:去搜索一下自己的真实姓名、手机号、家庭住址,看看哪些信息已经公开在网上。知道自己的暴露面,才知道要重点保护什么。 haveibeenpwned是免费、靠谱、隐私友好的数据泄露查询工具。 安全防护不追求完美&#xff0…...

CANN-HCCL-昇腾NPU分布式训练的通信库怎么选

8 卡 Atlas 800I A2 内部走 HCCS(带宽 200GB/s),跨机走 RoCE(带宽 100GB/s)。HCCL 是昇腾NPU的通信库,对标 NVIDIA 的 NCCL。Tensor Parallel 和 Pipeline Parallel 的 All-Reduce、All-to-All 都靠它。 HC…...

工业级大模型学习之路021:LangChain零基础入门教程(第四篇):文档加载与文本分块技术

一、文档处理是 RAG 系统的基石1.1 为什么文档处理决定了 RAG 系统的上限?RAG 系统的核心逻辑是 **"检索相关文档片段 → 喂给大模型生成回答"**,整个流程的质量完全依赖于文档处理环节:如果文档解析失败,再好的检索和生…...

Python爬虫实战:爬取论文期刊 文献整理+管理表生成

写论文的时候最烦什么?不是写内容,是找文献和整理文献。相信每个研究生都有过这样的经历:打开十几个浏览器标签页,一篇一篇复制论文标题、作者、期刊、发表时间、摘要,然后粘贴到Excel里,一不小心还会复制错…...