
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一. 传统方式以学校院系展示为例,实现在一个页面展示学校的院系组成,一个学校有多个学院,一个学院有多个系。传统方式实现类图如下:传统方式将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的。实际上我们的要求是在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系,而每个院对于系的存储方式各不相同(如数组、集合等),因此这种...
一. 传统方式以游戏角色状态回复(回蓝、回血)为例1. 传统方式解决一个对象对应一个保存对象状态的对象2. 传统方式存在问题一个对象,就对应一个保存对象状态的对象,这样当我们游戏的对象很多时,不利于管理,开销也很大。传统的方式是简单地做备份,new出另外一个对象出来,再把需要备份的数据放到这个新对象,但这就暴露了对象内部的细节。故引出备忘录模式二. 备忘录模式1. 概念备总录模式(Memento
一. 命令模式1. 概念命令模式(Command Patterm),在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计。命名模式使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活,实现解耦。在命名模式中,会将一个请求封装为一个对象,以便使用不同
一. 概念模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。简单说,模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤。这种类型的设计模式属于行为
一. 适配器模式1. 概念适配器模式(Adapter Rattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)。类比,U盘插个转换头可用与手机type-c接口相连接;或者是使用多功能转换插头,实现三孔插头与两孔插座相连。2. 工作原理适配器模式将一个类的接口转换成另一种接口,让原本接口不兼
一. 设计模式概念对接口编程而不是对实现编程;优先使用对象组合而不是继承二. 设计模式总览1. 创建型模式(Creational Patterns):(5)单例(Singleton)模式原型(Prototype)模式工厂方法(FactoryMethod)模式抽象工厂(AbstractFactory)模式建造者(Builder)模式2. 结构型模式(Structural Patterns): ...
在华为云部署jenkins+gitlab实现持续集成时,按流程部署一般是没有问题的,但是外部始终无法访问。可能是华为云服务器安全组端口未开放,与服务器本身防火墙无关。在安全组设置端口,以设置开放端口8099为例。
1. 滑动窗口滑动窗口算法是在给定特定窗口大小的数组或字符串上执行要求的操作,它的原理与网络传输TCP协议中的滑动窗口协议(Sliding Window Protocol)基本一致。这种技术可以将一部分问题中的嵌套循环转变为一个单循环,因此它可以减少时间复杂度。滑动窗口主要应用在数组和字符串上。例如,设定滑动窗口(window)大小为 3,当滑动窗口每次划过数组时,计算当前滑动窗口中元素的和,可以
一. 传统方法以订购披萨为例1. 代码示例将Pizza类做成抽象类,定义准备、烘烤、切割、打包等方法,其中因不同披萨原材料不一样,因此准备的方法做成抽象方法public abstract class Pizza {protected String name;//准备原材料,不同披萨不一样,因此做成抽象方法public abstract void prepare();public void setN

一. 二分查找的定义二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法,前提是数据结构必须先排好序。二分查找采用的是一种分治策略,它充分利用了元素间的次序关系,可在最坏的情况下用O(log n)完成搜索任务。基本思想:假设数组元素呈升序排列,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止;如 果x<a[n







