自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 辗转相除法的证明

该算法常用于计算两数的最大公约数。算法表示如下:现有A, B两正整数,其中A为较大者,A>=B; 通过一下算法求其最大公约数1> A / B = C … D 使用较大者除以较小者,获得余数D是否为0,若为0,则最大公约数为除数B2> 若不能整除,则B作为较大者,余数D作为较小者(由除法性质知B >= D),重复该算法设A = 899, B = 493。...

2022-07-09 15:49:10 2085 1

原创 Websocket 集群部署 -- 状态隔离&网络隔离

事情的经过是这样的,工作中需要开发一个远程调试工具。这个调试工具的功能只有一个消息转发。参与交互的角色有用户代理Agent,websocket服务Server,远程调试器Monitor。Agent和Monitor分别和Server使用wensocket连接。当连接有消息来时,转发给对方。这样一个简单的功能,在开发和测试过程中一切正常,上线之后。现象变得诡异了起来。当Agent加入和退出时,Server会有对当前Agent个数的统计竟然是错的。Agent加入,Server没监听到的情况频频发生。...

2022-06-17 18:27:10 629

原创 Vue源码分析-读源码的准备工作

Vue作为当下非常流行的前端UI框架,值的对其感兴趣的前端开发者对其一探究竟。

2022-06-07 09:20:47 274

原创 C++进阶指北-面向对象编程

这篇文章将帮你解决的问题:什么是编程什么是面向对象编程为什么要使用面向对象思想除了对象+方法,还需要别的吗

2022-06-04 16:31:52 185

原创 享元(Flyweight)模式

享元模式运用共享技术有效地支持大量细粒度的对象。如果一个应用程序中使用了大量的对象,就会造成很大的开销。特别是对于大量细粒度的对象,比如一个文档编辑器中,为字母创建对象的话,可能‘A’这个字母就出现了100000次,我们就可以上这些‘A’共享一个对象,当然其不同的显示效果也要分离出来,不被共享。这种情况下, 我们将对象分为可被共享(不变化)的“内部状态”,和可变化的不被共享的“外部状态”。又...

2019-04-08 15:12:59 117

原创 代理(Proxy)模式

代理模式为其他对象提供一种代理以控制这个对象的访问代理的分类:虚代理(Virtual Proxy) : 创建开销大的对象时,我们将其创建过程交给代理完成。远程代理(Remote Proxy) : 在网络上的对象创建一个局部本地代理,比如要操作网络上一个对象时,通过代理去操作。保护代理(Protection Proxy) : 对对象进行访问控制时,访问权限不足的操作交给代理去操作。智能...

2019-04-08 14:52:08 9821 1

原创 外观(Facade)模式

外观模式为子系统提供一个一致的接口,此模式定义了一个高层接口,使得子系统更加容易使用。子系统将多个接口进行综合管理。举个栗子: 假设我们要做股票,我们就需要去学股票的知识,我们可以找基金,让其帮我们做投资。而基金就懂得各种理财知识。此时基金对我们用户就是Facade,做股票,做期货,做货币这些子系统,Facade是对这些子系统的接口的集合。Facade 中拥有所有子系统的对象。facad...

2019-04-08 14:47:49 192

原创 适配器(Adapter)模式

适配器模式将一个类的接口转换为客户需求的接口。分为类模式和对象模式类模式使用继承机制完成接口的转换,从目标类与被适配者继承来,在适配器中完成接口的转换。对象模式使用内部对象指针完成接口的转换,继承目标类对虚函数接口进行重写,被适配对象指针在适配器中,被适配器调用。//adaptor.hpp#include <iostream>#ifndef _DESIGN_PATTER...

2019-04-08 14:41:08 174

原创 组合(Composite)模式

组合模式将对象组合成树形结构表示 “部分-整体” 的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。当我们需要递归创建树状结构,并且各个节点不尽相同时,Composite模式提供了很好的方法。举个栗子: 假设MI公司的公司结构成树状结构,下属许多分公司Filiale,分公司下有办事处Office。这些机构有都有财务部门Finance与人力资源HumanResource部门。...

2019-04-07 23:40:15 103

原创 装饰者(Decorator)模式

装饰者模式常用在为已经定义好的类添加新的职责(操作),通常我们会定义一个新类继承自定义好的类,随之而来的问题是当具体子类要添加新的职责时,就要向其父类添加这个职责的抽象接口,这样当子类越多,其父类的抽象接口越多,而且继承自这个父类的所有子类都不可避免的继承了父类的接口。Decorator模式提供了一种解决方法,当添加操作时一步步的添加新的职责。举个栗子: CellPhone手机的主要功能是打电...

2019-04-07 23:12:14 106

原创 桥接(Bridge)模式

合成/聚合复用原则在进行功能拓展时,应首先考虑合成/聚合,其次采用继承。合成:一种较强的‘包含’关系,严格的部分和整体的关系,有相同的生命周期。如:大雁与翅膀聚合:一种较弱的‘包含’关系,种类上的包含,A包含B,B不一定包含与A。如:大雁与雁群可以有效的控制类层次的规模。桥接模式将抽象与实现分离,是它们可以独立变化。抽象与实现分离并非抽象基类与派生类之间的关系。抽象是指产品的不同...

2019-04-04 20:22:48 185

原创 原型(Prototype)模式

原型模式用原型实例指定创建对象的种类,并且通过拷贝原型创建新的对象。功能类似于拷贝构造,拷贝构造的调用由程序自动调用。而原型模式的Clone由被拷贝对象调用。完成对象实例的自拷贝。在大话设计模式中:A a;A b = a;A c = b;b和c被认为是a的引用。与a公用一个内存实例。在c++中这被优化为使用拷贝构造来生成新对象。为了抽象出自拷贝的特性,抽奖出接口类Prototype...

2019-04-03 21:44:52 234

原创 建造者(Builder)模式

建造者模式建造者模式时对象的构建过程抽象出来,与实现分离。针对一类特殊对象,他们的有着共同的构建过程,也就是需要经过东阳的步骤才能得到。但由于每个步骤使用参数的不同,使之得到的对象也不同。抽象不依赖于细节,细节依赖于抽象这句化说明了实现与抽象之间的关系。举个栗子: 我们需要画一个人,有固定的步骤:1. 画头(Head)2. 画五官(features)3. 画身体(body)4. 画胳...

2019-04-03 21:37:16 68

原创 编译原理基础

编译原理在计算机编程中,我们需要将人们写的高级语言源程序翻译成处理机可运行的目标程序,这个过程成为编译程序.狭义的理解,当这个目标程序为低级语言,即汇编或者机器吗的时候,我们把这种由高级语言到机器相关的语言之间的转换过程成为编译.编译程序: 完成编译过程的汇编或二进制程序.输入输出源程序编译器二进制程序编译型语言 vs 解释型语言高级语言源程序若可以直接进行执行,我们将这种语言称为解释...

2019-04-03 10:48:06 182

原创 单例(Singleton)模式

单例模式单例模式旨在同一程序中,某个类只存在一个实例。解决此类问题的主要思想在于生成全局对象,本质是通过其在内存中位置不同,完成生存周期,及可见域的限制。使其存在与全局作用域,通过编译器来防止多个对象产生。在面向对象中,我们通过singleton来完成对某的对向的单例化。实现原则:1. 私有构造函数2. 静态实例引用(静态变量或静态指针)3. Instance()4. 通过类型的全局...

2019-04-01 23:01:46 206

原创 抽象工厂(Abstruct Factory)模式

抽象工厂(Abstruct Factory)模式之前一直强调,工厂模式只能为一类类提供对象的创建。而抽象工厂模式与之最大区别,便是它能为多个有依赖关系的类实现对象的创建。我更倾向于认为,当在工厂模式中有多个不相同的基类,但其特征在实例化的类上产生了交叉。我们将这些不同的特征在产品类族与工厂类族中用相反的继承关系表达出来,完成对一类相关类的创建。举个例子: 在一款游戏中,用户使用的道具(Pro...

2019-04-01 22:14:04 346

原创 工厂(Factory)模式

工厂模式工厂模式一般分为三种:简单工厂(Simple Factory)模式工厂方法(Factory Method)模式抽象工厂(Abstract Factory)模式其中简单工厂与工厂方法在GoF中统称为工厂模式。由于所有创建型模式都的基本要求就是为对象的创建提供接口,封装对象的生成。所以简单工厂不专门作为一种创建型模式。但是简单工厂作为创建型模式的基本要求,虽然简单,也值得我们学习...

2019-04-01 22:11:51 1933

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除