模式 设计模式 示例singleton

解释器模式 Interpreter

一、定义 给定一个语言,定义他的文法的一种表示 并定义一个解释器,这个解释器使用该表示来解释语言中的句子 二、适用场景 某个特定类型问题发生频率足够高 三、优缺点 1、优点 语法由很多类表示,容易改变及扩展此“语言” 2、缺点 需要预知规则 当语法规则数目太多时,增加了系统复杂度 四、代码实现 ht ......
解释器 Interpreter 模式

工厂模式 Factory Method

一、简单工厂 定义一个工厂类,根据传入的参数的值的不同返回不同是实例 1、特点 被创建的实例具有共同的父类或接口 2、适用场景 需要创建的对象较少 客户端(应用层)只知道传入工厂的参数,对如何创建对象(逻辑)不关心 3、优缺点 优点:可以对创建的对象进行“加工”,对客户端隐藏相关细节缺点: 因创建逻 ......
工厂 Factory 模式 Method

抽象工厂模式 Abstract Factory

一、定义 提供一个创建一系列相关或相互依赖对象的接口 抽象工厂模式侧重的是同一产品族,而抽象工厂侧重的是同一产品等级 二、适用场景 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 强调一些列相关的产品对象(属于同一产品族)一起使用,创建对象需要大量复杂代码 提供一个产品类的库,所有的产品以 ......
Abstract 工厂 Factory 模式

状态模式 State

一、定义 一个对象存在多个状态(不同状态下行为不同),且状态可相互转换 二、适用场景 如:播放器,播放/暂停都是状态,不同状态下行为不同 三、优缺点 1、优点 将不同的状态隔离 把各种状态的转换逻辑,分不到State的子类中,减少相互间依赖 增加新的状态非常简单 2、缺点 状态多的业务场景会导致类数 ......
状态 模式 State

命令模式 Command

一、定义 将“请求”封装成对象,以便使用不同的请求 命令模式解决了应用程序中对象的职责以及他们之间的通信方式 二、适用场景 请求调用者和请求接收者需要解耦,使得调用者和接收者不直接交互 需要抽象出等待执行的行为 三、优缺点 1、优点 降低耦合 容易扩展新命令或一组命令 2、缺点 命令的无限扩展会增加 ......
命令 Command 模式

访问者模式 Visitor

一、定义 封装作用域某数据结构(如List/Set/Map等)中的各元素的操作 可以在不改变各元素类的前提下,定义作用于这些元素的操作 二、适用场景 一个数据结构(如List/Set/Map等)包含很多类型的对象 数据结构和数据操作分离 三、优缺点 1、优点 增加新的操作很容易,即增加一个新的访问者 ......
访问者 Visitor 模式

中介者模式 Mediator

一、定义 定义一个封装一组对象如何交互的对象 通过使对象明确的相互饮用来促进松散耦合,并允许独立地改变他们的交互】 二、适用场景 系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解 交互的公共行为,如果需要改变行为则可以增加新的中介者类 类似于聊天室(群组) 使用观察者模式负责中 ......
中介者 Mediator 中介 模式

备忘录模式 Memento

一、定义 保存一个对象的某个状态,以便在适当的时候恢复对象 后悔药 二、适用场景 保存及恢复数据相关业务场景 后悔的时候,即想恢复到之前的状态 三、优缺点 1、优点 为用户提供一种可恢复机制 存档信息的封装 2、缺点 资源占用 四、代码实现 https://github.com/Meidanlong ......
备忘录 Memento 模式

责任链模式 Chain Of Responsibility

一、定义 为请求创建一个接收此次请求对象的链 特点:类中包含一个和自己同类型类的对象 二、适用场景 一个请求的处理需要多个对象当中的一个或几个协作处理 三、优缺点 1、优点 请求的发送者和接收者(请求的处理)解耦 责任链可以动态组合 2、缺点 责任链太长或者处理时间过长,影响性能 责任链有可能过多 ......
Responsibility 模式 责任 Chain Of

12.20设计模式复习安排

1.默写每个模式的定义和例子 2.每个原则的定义 3.对应模式代码核心内容 4.看模式实例画类图 对于下述场景,选择合适的软件设计模式进行设计,说明选用的设计模式的名称,简单描述该模式,并画出对应的类图。(共 15 分,其中软件设计模式的名称 3 分,模式描述 4 分,类图 8 分) 题一: 题二: ......
设计模式 模式 12.20 12 20

2023-2024-120231329《计算机基础与程序设计》第13周学习总结

作业信息 这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP 这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html 这个作业的目标 《C语言程序设计》第12章并完成 ......

平台代收代付数据库表的设计

平台代收代付数据库表的设计 1.费用项目通过cost_code来唯一标识,根据费用编码来锁定费用,不使用在数据表中比如费用表,每增加一个费用而增加一个费用字段的方式,这样会导致不灵活,不容易扩展。通过费用编码的方式,可以将费用表的字段的方式纵向的拉平为多条费用的横向方式,便于扩展,系统每增加一个费用 ......
数据库 数据 平台

《重构:改善既有代码的设计》读书笔记二

二、代码的坏味道 1、Duplicated Code(重复代码) 坏味道首当其冲的就是Duplicated Code,如果你在一个以上的地点看到相同的重复结构,那么这个坏味道就可以确定了,设法将它们合而为一 同一个类中两个或更多的函数含有相同的表达式 利用Extract Method(提炼方法)提炼 ......
代码 笔记

2023-2024 20231313《计算机基础与程序设计》第十三周学习总结

2023-2024 20231313《计算机基础与程序设计》第十二周学习总结 作业 速达 作业课程 班级链接 作业要求 计算机基础与程序设计第十三周学习总结 作业内容 《C语言程序设计》第12章并完成云班课测试 作业正文 我的作业 目录教材总结总结学习过程的问题《C语言程序设计》第十二章基于AI的学 ......

软件设计12

[实验任务一]:计算机开启 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load ......
软件

职责链模式

请假的顺序是,你要将假条交给辅导员,如果辅导员处理不了要上交给院长,院长处理不了交给校长。 而Handler就是个领导,secceor是上级 ......
职责 模式

软件设计期末试卷2020级

第1页 /共 6页 石家庄铁道大学 2022 年秋季学期 2020 级本科期末考试试卷(A) 课程名称:软件设计(闭卷) 任课教师: 王辉 考试时间:100 分钟 学号: 姓名: 班级: 考试性质(学生填写):正常考试( )缓考( )补考( )重修( )提前修读( ) 题 号 一 二 三 四 五 六 ......
试卷 软件 2020

IO密集服务的设计指北

IO密集服务的设计指北 以消息队列为例 异步编程 异步是指在程序执行过程中,某个操作的执行不会阻塞其他操作的进行。在异步编程中,一个操作的执行通常会在后台进行,而程序可以继续执行其他操作,不需要等待该操作的完成。这种方式提高了程序的效率和响应性。 异步设计如何提升系统性能? 服务大体分为两类 计算密 ......

代理模式

Subject泛化成代理类和一个真实类,而代理类又依赖真实类,服务器可以通过代理类进而使用真实类 例如: Proxy: Real real = new Real(); request(); login(boolean a): if a == true: return real.request(); ......
模式

vs .csproj会丢失<SubType>导致代码无法显示设计界面

突然某天打开vs代码,点击某个页面,无法显示可视化设计界面,直接进入代码; 和之前版本对比发现.csproj丢失许多<SubType>。 解决办法:debug模式下重新生成,然后关闭vs,再打开就可以了。 貌似是vs的bug。 ......
界面 SubType 代码 csproj vs

java设计模式

三大种类型的设计模式 创建型模式:关注对象的创建过程。 结构型模式:关注对象与类的组织模式 行为型模式:关注对象之间的交互 23种设计模式 简单工厂模式 定义:根据参数的不同返回不同类的实例。 工厂方法模式 定义:通过工厂子类来确定究竟应该实例化哪一个具体产品类 例子:日志记录器 抽象工厂模式 定义 ......
设计模式 模式 java

基于Tensorflow技术开发的计算机毕业设计辅助生成器(使用AI大模型技术)

这是一个辅助生成计算机毕业设计的工具,可以自动完成毕业设计的源码。它基于几百个github上面开源的java和python项目,运用tensorflow技术,训练出了AI大模型。基本实现了计算机毕业设计生成器,能够初步生成Java或python基本源码。目前该项目处理实验阶段,还不成熟,成功率55% ......

外观模式

继续白嫖别人的图,自己画实在是太麻烦了。 说白了就是调用,没了(我真不知道这点逼东西还至于出本书,专门说无语) ......
外观 模式

命令模式

#include <iostream> #include <vector> using namespace std; class Light { public: void on() { cout << "灯亮了" << endl; } void off() { cout << "灯灭了" << en ......
命令 模式

便携式打气泵pcba方案设计

一、引言 在日常生活中,我们经常需要为各种物品打气,如自行车轮胎、篮球、游泳圈等。便携式打气泵作为一种方便、实用的工具,能够满足我们的这一需求。本文将详细介绍便携式打气泵的作用、工作原理、结构组成和功能参数,以帮助您更好地了解和使用这一方案。 二、便携式打气泵的作用 便携式打气泵的主要作用对需要充气 ......
方案设计 方案 pcba

docker网络模式

Docker网络 我们使用容器,不单是运行单机程序,当然是需要运行网络服务在容器中,那么如何配置docker的容器网络,基础网络配置,网桥配置,端口映射,还是很重要。 docker网络功能 docker的网络功能就是利用Linux的network namespace,network bridge,虚 ......
模式 docker 网络

桥接模式

现在你把等级拉到了九,你准备在九级D一波,最终场上你决定给伊瑞泽尔,凯隐和烬装备 看图,英雄需要拿到装备来干活,所谓的拿装备便是桥 ......
模式

C程序设计竞赛实训教程(大学程序设计课程与ACM竞赛实训教材)

C程序设计竞赛实训教程(大学程序设计课程与ACM竞赛实训教材) C程序设计竞赛实训教程》是以大学生程序设计竞赛为应用背景的程序设计综合训练教程,以具有初级C语言基础的读者为对象,从C语言的深度解析和程序设计基本方法两方面进行分析介绍,使读者达到深入理解C语言和全面掌握程序设计基本方法的目的。全书内容 ......
程序设计 程序 教材 课程 教程

测试用例设计方法六脉神剑——第六剑:心法至简,百家之长集成

1 引言 在前面几篇文章中,为大家介绍的都是系统的方法论,但在实际需求测试的过程当中,受到外部环境及业务逻辑的影响,比如涉及多需求耦合、浏览器缓存堆积等情况,仅针对当前需求设计出的测试用例就会有覆盖不全的问题,此时就需要借助以往的经验进行反向错误推测,辅助其他方法对测试用例进行完善。在本篇文章中,首 ......
神剑 方法
共14000篇  :24/467页 首页上一页24下一页尾页