程序设计20231311课程 计算机

设计模式

第一章 软件架构设计原则 1.1 开闭原则 开闭原则的核心思想就是面向抽象编程 开闭原则是面向对象编程中的一个设计原则,也被称为OCP原则。它的定义为:软件中的对象(类、模块、函数等)应该对扩展开放,对修改关闭。换句话说,一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。 这个 ......
设计模式 模式

计算类的大小

1. 对象存储规则 类实例化出的对象, 有成员变量和成员函数, 它们是存储在对象的? 实际上, 只有非静态的成员变量存储在对象中, 而成员函数是存储在公用代码段中, 如下图 现在知道了成员变量存储在对象中, 成员函数在公用代码段, 那么成员变量在内存中是如何存储的 对象中的成员变量在存储时需要遵守内 ......
大小

【策略设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时 ......
设计模式 策略 语言 模式 Python

软件开发、设计、架构的五大原则

唯一不变的就是变化本身。 我们经常讲的系统、子系统、模块、组件、类、函数就是从逻辑上将软件一步步分解为更细微的部分,即逻辑单元, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 逻辑单元内部、外部的交互会产生依赖,从而产生了内聚、耦合概念。内聚主要描述逻辑单元内部,耦合主要描述逻辑单元之间的关 ......
架构 软件开发 原则 软件

计算机操作系统随笔

计算机操作系统是一种控制和管理计算机硬件和软件资源的软件程序,类比为一座大厦的物业管理。 它负责管理计算机硬件资源,如中央处理器、内存、硬盘等,以及软件资源,如程序、文件等。 一座大厦的物业管理主要负责管理大厦的各项资源,如电力、水源、电梯、消防等,确保大厦能够正常运作。类比于计算机操作系统,它管理 ......
随笔 计算机 系统

计算机专业英语词汇和缩写表

文件: computer_technology_glossary_and_abbreviations.txt 标题: 计算机专业英语词汇和缩写表 摘要: 计算机专业英语词汇和缩写表。先是词汇表按照字母顺序排列。然后是缩写表。 --> 《计算机英语(第3版)》 词汇表 Glossary A a pri ......
缩写 词汇 计算机 专业

软件开发、设计、架构的五大原则

唯一不变的就是变化本身。 我们经常讲的系统、子系统、模块、组件、类、函数就是从逻辑上将软件一步步分解为更细微的部分,即逻辑单元, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 逻辑单元内部、外部的交互会产生依赖,从而产生了内聚、耦合概念。内聚主要描述逻辑单元内部,耦合主要描述逻辑单元之间的关 ......
架构 软件开发 原则 软件

关于 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B) 的 解决方法

这个是64位应用32位产生的问题。相信大家搜索的时候很多都是建议改把项目的AnyCPU改成X86. 终于搜索了半天后发现,IIS里解决才是根本办法: 1.生成时选择AnyCPU。 2.在IIS配置里面启用32位应用程序。 其中启用32位应用程序的方法如图: ......
0x8007000B 8007000B x8007000 HRESULT 8007000

触发器设计的一些思考

触发器这东西貌似N年(大约90年代)很流行。比如那时候用Oracle Forms做开发的,大量的业务逻辑都放在触发器里。后来好像就少用了,最多的是用来审计,比如在数据库里放个历史记录表,每次原表数据有变化时,就在触发器里,将改动前后的数据复制到历史记录表里,便于以后的审计或者排错。 为什么现在少用触 ......
触发器

原型设计尺寸与axure rp key

首先,放两个链接: 1.浏览器和屏幕分辨率检测 2.屏幕分辨率(SCREEN RESOLUTION)统计 PC 1024768 原型尺寸:960N PC 1280720/800 原型尺寸:1200N Android 通用/10801920 原型尺寸:360640 iOS iPhone5/640113 ......
原型 尺寸 axure key rp

JAVA面向对象程序设计_PTA题目集04-06总结分析

前言: JAVA_BLOG_PTA题目集4-6_总结分析 题目集四: 知识点:大体如预备知识,即:通过查询Java API文档,了解Scanner类中nextLine()等方法、String类中split()等方法、Integer类中parseInt()等方法的用法,了解LocalDate类中of( ......
程序设计 题目 对象 程序 JAVA

C++黑马程序员——P143-146. 文件操作

P143. C++文件操作——文本文件——写文件 P144. C++文件操作——文本文件——读文件 P143. 写文件 示例: 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 #include <fstream> ......
黑马 程序员 文件 程序 143

设计模式-工厂篇(1)

意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 适用性: 当一个类不知道它所必须创建的对象的类的时候。 当一个类希望由它的子类来指定它所创建的对象的时候。 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个 ......
设计模式 工厂 模式

python的设计模式

设计模式 一、什么是设计模式 软件工程中,设计模式是指软件设计问题的推荐方案。设计模式一般是描述如何组织代码和使用最佳实践来解决常见的设计问题。需要记住一点:设计模式是高层次的方案,并不关注具体的实现细节,比如算法和数据结构。对于正在尝试解决的问题,何种算法和数据结构最优,则是由软件工程自己把我 二 ......
设计模式 模式 python

程序员面试金典---17

堆箱子 思路: 首先进行排序,规则为: 如果宽度不相同,按照宽度从小到大排序。 如果宽度相同,深度不相同,按照深度从大到小排序。 宽度和深度都相同,高度从大到小排序。 采用动态规划进行求解: 计算以当前盒子为顶部盒子时的最大堆叠高度。 从前往后遍历每一个盒子,对于每一个盒子i,遍历i之后的所有盒子j ......
程序员 程序 17

青岛市程序设计竞赛冲刺④(2022山东省小学组补赛试题)

1.独木桥 原题: 解题思路: n个人中,每个人越靠近一个端点,就朝着那个方向走到头,求出最大距离即最大时间 AC代码: #include<bits/stdc++.h> #define ll long long using namespace std; const int N = 1e6+5; in ......
小学组 程序设计 试题 小学 程序

《程序员修炼之道:从小工到专家》阅读笔记九

二十八时间耦合 时间对我们很重要:并发和次序。 分析工作流,以改善并发性 例如使用UML活动图 用服务进行设计:实际上我们创建的不是组件,而是服务--位于定义良好的,一致的接口之后的独立、并发的对象 为并发进行设计 必须确保在任何可能被调用的时刻,对象都处在有效的状态中。 更整洁的接口:对并发和时序 ......
小工 程序员 笔记 程序 专家

pta__【CPP0025】以点类Point及平面图形类Plane为基础设计圆类Circle

#include <iostream>using namespace std;//点类Pointclass Point{private: double x; double y;public: Point(double xv=0,double yv=0);/*构造函数*/ Point(const Po ......
图形 平面 基础 Circle Point

c/c++程序中获取当前可执行文件所在的目录路径,使用跨平台的program_location

c/c++程序中获取当前可执行文件所在的目录路径 对于大型工程中,可执行文件中通过c/c++代码获取到当前路径,可以很大方便于工程后续的部署与运维工作。 比如说根据当前的可执行文件路径获取到配置文件的路径,然后加载读取配置文件。 有了这个能力就不用再在操作系统中配置环境变量来指定当前工程的目录了,让 ......

计算机网络基础——10 活动目录AD的配置和应用

10.1实验目的 1.了解域和活动目录的概念 2.掌握 Windows server 2003 中活动目录 AD 的安装与配置 3.掌握加入域和登录域的方法 10.2实验相关知识:域与活动目录的概念 一台 Windows 计算机,在网络中要么隶属于工作组,要么隶属于域。工作组通常是几部计算机组成的逻 ......
网络基础 计算机 基础 目录 网络

在线设计Tkinter界面,生成Python代码

设计地址:https://www.pytk.net/tkinter-helper/? 运行演示 教程地址:https://www.pytk.net/tkinter.html 常用演示 """ 本代码由[Tkinter布局助手]生成 当前版本:3.2.4 官网:https://www.pytk.net ......
界面 Tkinter 代码 Python

Java设计模式-抽象工厂模式

简介 设计模式是软件设计中的一种常见方法,通过定义一系列通用的解决方案,来解决常见的软件设计问题。其中,抽象工厂模式是一种非常常见的设计模式,它可以帮助我们创建一组相关的对象,而不需要指定具体的实现方式。 抽象工厂模式是一种创建型设计模式,它提供了一种方式来创建一组相关的对象,而不需要暴露具体的实现 ......
模式 设计模式 工厂 Java

通过组策略在计算机网络位置添加ftp

原理 在%APPDATA%\Microsoft\Windows\Network Shortcuts目录添加ftp快捷方式即可。 操作 名称中填入完整路径和ftp快捷方式的名称,比如这样:%APPDATA%\Microsoft\Windows\Network Shortcuts\share ......
计算机网络 策略 位置 ftp

Jenkins java程序占用内存大 优化

Linux系统下使用top命令,再输入M按钮,按照内存排序每个进程,发现jenkins占据内存过大,如下: 解决方式 输入命令vim /etc/sysconfig/jenkins编辑jenkins文件,修改JENKINS_JAVA_OPTIONS属性:原来的属性如下: JENKINS_JAVA_OP ......
内存 Jenkins 程序 java

如何将 Spire.Doc for C++ 集成到 C++ 程序中

Spire.Doc for C++ 是一个专业的 Word 库,供开发人员在任何类型的 C++ 应用程序中阅读、创建、编辑、比较和转换 Word 文档。 本文演示了如何以两种不同的方式将 Spire.Doc for C++ 集成到您的 C++ 应用程序中。 通过 NuGet 安装 Spire.Doc ......
程序 Spire Doc for

前端JavaScript的精确计算问题

问题发现 "47.900000" * "771.65" = 36962.034999999996 (错误) 36962.035 (正确) 问题定位 JavaScript 前端计算不精确(浮点数计算的精确问题) 问题解决 除法函数,用来得到精确的除法结果说明:javascript的除法结果会有误差,在 ......
前端 JavaScript 问题

WPF程序接收启动参数并启动

新建一个WPF项目WpfApp1 创建一个新的启动类 public class NewApp { public static string[] Args = new string[] { }; [STAThread] public static void Main(string[] args) { ......
参数 程序 WPF

小程序自动化测试框架Minium——框架介绍和环境搭建

转自:https://blog.csdn.net/wessonlan/article/details/125360537 一、Minium 简介 minium 是微信团队为小程序专门开发的自动化框架,我们可以用它来做小程序的UI自动化测试,但是它的能力却不仅仅在于UI自动化。 正是得益于官方订制打造 ......
框架 环境 程序 Minium

副业做得好,搞钱没烦恼:盘点那些靠谱的程序员副业!

这是一个职业生涯三叶草模型,它分为兴趣、价值、能力三个维度,完美的主职业最好同时满足这三项。但事情往往未必那么如意,如果主职业没能同时满足,那么剩下的部分,完全可以用副业填充。 或者,通俗点说,做副业的第一目标一般是赚钱,想大幅度增加“价值”尤其是物质价值这个维度,那就让我们进入正题,看看程序员可以 ......
副业 程序员 程序

微信小程序ios不识别零宽断言,导致加载包页面白屏

iphone对应正则的前瞻(?<=)不支持,有兼容问题,导致某些页面打开空白 可以改成正则写法,例如 item["userIdName"] = item.userId.replace(/(?<=\d{3})\d{4}(?=\d{4})/g, "****"); 这段的作用是将11位手机号中间四位替换成 ......
页面 程序 ios