设计模式 注解 模板servlet

2642. 设计可以求最短路径的图类

题目链接:2642. 设计可以求最短路径的图类 方法一:Dijkstra 解题思路 每次调用 $shortestPath(st, ed)$ 时,就通过 $Dijkstra$ 算法计算 $st$ -> $ed$ 的最短路。 代码 朴素写法 class Graph { private: vector<v ......
2642

策略模式

概述 《设计模式》一书中对于 “策略模式” 的意图描述如下: 定义一系列算法,将它们一个个封装起来,并是他们可以相互替代 一般策略模式的 UML 图如下所示: 一般在以下几种情况中使用策略模式: 许多相关的类仅仅是行为有异。“策略” 提供了一种用多个行为中的一个行为来配置一个类的方法 需要使用一个算 ......
策略 模式

Day09-设计模式之组合模式

设计模式之组合模式 引例 在现实生活中,存在很多“部分-整体”的关系,例如,大学中的学院与系、总公司中的分公司与部门,文件系统中的文件与文件夹等。对这些简单对象与复合对象的处理,如果用组合模式来实现会很方便。 组合模式介绍 组合模式定义如下: 组合模式(Composite Pattern)也称为整体 ......
模式 设计模式 Day 09

pta程序设计类实验辅助教学平台-练习题

定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)和Triangle (三角形),用虚函数分别计算各种图形的面积,并求出它们的和。要求用基类指针数组。使它的每一个元素指向一个派生类的对象。PI=3. ......

Day07-设计模式之桥接模式

桥接模式介绍 桥接模式(Bridge Pattern)是将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变,保持各部分的独立性以及应对他们的功能扩展。 UML类图及角色职责 抽象类(Abstraction):定义抽象接口,由聚合关系可知,抽象类中包含一个Implementor类型的对象,它与 ......
模式 设计模式 Day 07

Day08-设计模式之装饰者模式

设计模式之装饰者模式 引例 **需求:**假设现在有烧饵块:白米饵块(WhiteRice),紫米饵块(PurpleRice),黄米饵块(yellowRice),调料有热狗(HotDog),油条(oilNoodle),鸡柳(chicken),客户可以单点白米的,或者白米+调料的组合,计算相应的费用,要 ......
模式 设计模式 Day 08

关于敏捷开发、系统重构、设计原则、设计模式之间的思考

敏捷开发、系统重构、设计模式是软件开发中不同的概念,它们之间有一些联系和相互影响。 敏捷开发方法强调快速响应客户需求,通过迭代和增量的方式来开发软件。在敏捷开发中,设计模式可以被用来提高软件质量和可维护性,因为设计模式是已经被证明有效的软件设计方案。在开发过程中,团队可以使用设计模式来提高代码的复用 ......
设计模式 原则 之间 模式 系统

复选框数据通过axios和Vue传输到servlet后台

引言 本来是想百度一下如何将table标签里面嵌入的复选框通过axios以及Vue传输到Servlet后台; 百度之后才发现,是我草率了,原来可以直接用复选框标签进行传输(好吧,又暴露了自己基础不扎实的事实......) 相关实现步骤 1、将相关的标签el-checkbox引入进去 这里我们需要引入 ......
后台 servlet 数据 axios Vue

电子科技大学第二十一届ACM程序设计竞赛 决赛游记

Preface 第一次线下组队打ACM比赛,算是次很难忘的经验吧 昨天晚上和队友才第一次在食堂见面,然后简单交流了下今天的策略方针等 ~~其实大部分时间还是在扯皮,没想到刚好三个key厨组成了一队,早知道队名就叫HellBurnsGreen了~~ 然后关于赛前,今天早上还算起的挺早,然后不知道干什么 ......
程序设计 游记 程序 大学 电子

vivo全球商城:电商交易平台设计

vivo全球商城:电商交易平台设计 作者:vivo 官网商城开发团队 - Cheng Kun、Liu Wei 本文介绍了交易平台的设计理念和关键技术方案,以及实践过程中的思考与挑战。 点击查阅:《vivo 全球商城》系列文章 一、背景 vivo官方商城经过了七年的迭代,从单体架构逐步演进到微服务架构 ......
交易平台 商城 全球 平台 vivo

docker网络模式

Docker有4种网络模式(--network=) bridge默认模式,分配network namespace和IP,连接到docker0网桥上。 host使用主机IP,不分配network namespace和IP,和宿主机共用network namespace。 container和已存在的某 ......
模式 docker 网络

Golang - Option模式(2)(函数选项模式)

函数式选项模式(Functional Options Pattern) 函数式选项模式是一种在 Go 中构造结构体的模式,它通过设计一组非常有表现力和灵活的 API 来帮助配置和初始化结构体。 优缺点 选项模式有很多优点,例如:支持传递多个参数并且在参数发生变化时保持兼容性;支持任意顺序传递参数;支 ......
模式 函数 Golang Option

Web实验二 服务器端简单程序设计

实验项目名称:实验二 服务器端简单程序设计 一、实验目的 通过一个小型网站的开发,掌握JSP基础知识,加深对session,request,response,cookie等对象的理解,掌握其使用方法,进一步深入掌握HTML、CSS和JavaScript等知识。 二、实验内容和基本要求 1) 编写in ......
单程 服务器 Web

Golang - Option模式(函数选项模式)

解释 Option模式的专业术语为:Functional Options Pattern(函数式选项模式)Option模式为golang的开发者提供了将一个函数的参数设置为可选的功能,也就是说我们可以选择参数中的某几个,并且可以按任意顺序传入参数。比如针对特殊场景需要不同参数的情况,C++可以直接用 ......
模式 函数 Golang Option

05.单元测试、注解和反射

1、单元测试 什么是单元测试?单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性。 目前测试方法是怎么进行的,存在什么问题? 只有一个main方法,如果一个方法的测试失败了,其他方法测试会受到影响 无法得到测试 ......
注解 单元 05

Qt5.9 UI设计(七)——统一样式设计

前言 前面已经将UI设计部分实现,各页面也做了最简单的设计,本章介绍一下qss样式的使用。样式设计最终的显示效果如下图: 操作步骤 将stylesheet.qss 样式文件添加进工程 stylesheet.qss 内容如下: /********************** MainWindow St ......
样式 Qt5 Qt

Qt5.9 UI设计(四)——布局设计及自定义界面

前言 前面我们已经创建了mainwindow ControlTabWidget ControlTreeWidget maintitlebar 4个UI几面,我们需要将其他三个UI放置到mainwindow显示,同时需要它们可以自适应的界面的大小缩放。这里会使用到水平布局和垂直布局方法。 (一)主界面 ......
布局 界面 Qt5 Qt

【打怪升级】【微服务】聊聊微服务拆分设计

并不是所有的场景都适合微服务,我理解技术开发者都有一颗追求新技术的心,但是更重要的是业务场景及团队。 关于微服务 微服务架构,说白了就是一种上层体系的演变。从最早的单体架构,到前后分离,SOA,甚至微服务架构,其实它们都在做一件事,并且都朝着一个方向去发展:那就是分而治之!从简! 分而治之有什么好处 ......

Qt5.9 UI设计(六)——TitleBar功能实现

前言 上一章介绍了ControlTreeWidget 与ControlTabWidget联动的功能,这一章我们将实现自定义 TitleBar 的功能 操作步骤 修改按键图标最大和最小值 右键按键图标,转到对应的槽函数中去 对应的槽函数的实现如下: void MainTitleBar::on_push ......
TitleBar 功能 Qt5 Qt

Qt5.9 UI设计(三)——添加UI、类及资源文件

前言 设计一个软件,最简单的方式就是把控件直接往UI上放,然后再把功能实现了。这样可以实现基本的功能,但是界面不能缩放,如果拖动软件改变界面的大小,界面上的控件就会乱成一团,或者是界面的控件压根就不会跟着界面的大小进行改变。 要使界面上的所有控件都随着界面的变化而变化,做到自适应,这就需要使用到界面 ......
文件 资源 Qt5 Qt

Qt5.9 UI设计(五)——将Tabwidget与treeWidget相互关联

前言 前面一章介绍了ControlTabWidget ControlTreeWidget maintitlebar 三个子页面同时布局到 mainwindow 的方法,本章介绍如何将ControlTreeWidget 与ControlTabWidget 联动。 (一)TabWidget子页面实现 在 ......
treeWidget Tabwidget Qt5 Qt

Qt5.9 UI设计(二)——最简Qt工程搭建

前言 前面一章已经介绍了QT的开发环境的安装,这里介绍一下一个最简工程的搭建 操作步骤 新建项目 选择带界面的Qt Widgets Application 设置项目位置 注意这里的目录不能有中文路径 我这里设置的是:D:\QT\Qt_demo 选择编译工具,我们这里只安装了MinGW,所以只有一个选 ......
工程 Qt5 Qt

Qt5.9 UI设计(一)——在win10系统上安装Qt5.9

##安装环境 win10 系统 Qt5.9.0 版本 官方下载地址 可以从官方网站获取:https://www.qt.io/zh-cn/ 现在的安装包跟以前的有些区别,加上网络比较慢,我这里演示的是Qt5.9.0 版本的安装 安装步骤 直接双击qt-opensource-windows-x86-5. ......
Qt5 系统 Qt win 10

P7112 【模板】行列式求值

学《高等代数》第二章的时候过来搜了搜模板,结果真搜到了。于是水一篇题解。 本文部分内容来自《高等代数》。 行列式定义 对于一个 $n$ 阶行列式 $$A_{n \times n}= \begin{vmatrix} a_{11}& a_{12}& \cdots & a_{1n} \ a_{21}& a ......
行列式 行列 模板 P7112 7112

状态模式

概述 《设计模式》一书中对于 “状态模式” 的描述如下: 允许一个对象在其内部状态发生改变时改变它的行为,使得这个对象看起来像修改了它的类 状态模式的 UML 图如下所示: 一般在以下几种情况下使用状态模式: 一个对象的行为取决于它的状态 一个操作中含有庞大的多分支条件语句,且这些分支依赖于该对象的 ......
状态 模式

@Valid注解

使用@Valid注解如: public RespBean doLogin(@Valid LoginVo loginVo, HttpServletRequest request, HttpServletResponse response) { log.info("{}", loginVo); retu ......
注解 Valid

@RestControllerAdvice注解 @ExceptionHandler注解

RestControllerAdvice+ExceptionHandler这两个注解的组合,被用作项目的全局异常处理。一旦项目中发生了异常,就会进入使用了RestControllerAdvice注解类中使用了ExceptionHandler注解的方法。 下面是一些项目全局异常的处理 @Control ......

MySQL表设计与优化

影响MySQL查询性能的因素有很多,我们经常会对查询语句、索引字段做一些优化,而其实在表设计的阶段就可能产生一些问题。对于表设计,可以对表结构进行优化,也可以对表字段进行优化。以下通过一个具体的案例演示一些常用的表设计优化的方法。 一、业务需求 这里,就以学生-教师-课程业务作为示例。数据库需要存放 ......
MySQL

前端设计,确定按钮正慢慢消失

不论做什么产品,界面上几乎都少不了「确定」按钮,例如:操作提示时、进行选择时、填写表单数据时…… 完成、保存、下单……各种代表“确定某一步骤”的按钮,都可以统称为确定按钮。 以前的产品设计,大量以来确定按钮,但是现在的产品设计,确定按钮用得越来越少了。 倒不是因为不需要确定操作了,而是除了「确定按钮 ......
前端 按钮

《3D编程模式》写书-第3次记录

大家好,这段时间我完成了“积木模式”、“管道模式”、“多线程模式”、“依赖隔离模式”的初稿 目前我已经完成了所有模式(7个模式)的初稿,下面会给出它们的使用场景,如果您正好能用到,请联系我提前阅读模式的初稿,欢迎大家给出反馈建议,您的大名有机会出现在《3D编程模式》的书中,感谢! 我的QQ号: 39 ......
模式