自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wang498233076的专栏

贵有恒。。。。。。

  • 博客(34)
  • 资源 (6)
  • 收藏
  • 关注

原创 qtcreator 版本库

http://download.qt.io/archive/qtcreator/

2020-07-29 11:27:32 169

原创 关于软件源的一些总结

一、客户端1、软件配置Debian的apt软件配置文件在/etc/apt.conf,RedHat的yum软件配置文件在/etc/yum.conf。2、软件源地址配置无论是Debian亦或是Redhat,终端配置的在线软件源地址都不是直接指向某一个安装包目录的,软件源地址配置文件里存的是软件信息列表文件所在的url地址信息,客户端在配置完成后会更新这些列表信息到本地,这些软件信息里保...

2020-03-26 10:28:59 843

原创 访问者模式

最近回去听beyond的歌,发现有几首被下架了,找遍了所有播放器,都没找到,然后网上查了一下原因,感觉,,怎么说呢,,我们来研究今天的设计模式吧。。。。。。都说驴唇不对马嘴,我们来谈谈这个话题,我对马这个动物进行了封装,它有体重、年龄、性别、体力几个属性,有吃饭、负重奔跑、睡觉几个接口,这样封装足够目前的需求使用了,在后面的开发维护过程中我的需求里添加了卖马的功能,这个功能会用到马...

2019-08-16 16:42:09 125

原创 分派的概念

分派是一个过程,这个过程用来确定应用场景中具体使用的是哪个方法函数,比如在代码中可以有n个重名的甚至重参数的方法,那么具体使用的是哪个函数呢,这个对函数的确认过程即分派。那么分派的准则是什么呢?是宗量,一个方法所属的对象叫做方法的接收者,方法的接收者与方法的参量统称做方法的宗量。在此基础上,分派分为单分派和多分派两种。单分派根据一个宗量类型对方法进行选择,多分派(双分派)根据多...

2019-08-14 10:35:02 636

原创 原则6-里氏替换原则

我们考虑一个场景,在一款游戏里面,玩家使用枪械射击,由于枪械的种类在不断增加,并且每种枪都在不停的做性能微调,所以基于开放-封闭原则考虑,抽象枪的使用,将枪的种类增加和枪的性能调整进行封装,枪的使用抽象:拾起、装弹、瞄准、射击、丢弃,这个抽象出来的基类可以是抽象类(或接口)也可以是普通的父类都没有问题;玩家client在使用枪的时候直接使用基类操作其指向的具体枪支类就好了;这里有个问题,我写了...

2019-07-18 10:26:23 91

原创 原则5-依赖倒置原则

代码实现java;我们来实现一个功能:老张开车去东北;public class LaoZhang{//the lao zhang is very poor,his car is Passatpublic void Dirve(Passat pst){pst.run();}public void Dest(){System.out.println(...

2019-07-18 10:25:56 166

原创 原则4-聚组复用原则

前一阵子参与一个项目,对某产品第一个版本的代码进行了重构,原因是项目工期紧,要求第一个版本以最短的时间拿出来,导致产品在部分需求未确定的情况下草草开始,匆匆结束。项目要求有大概五六个子系统,每个子系统间必须使用socket通讯,考虑到数据安全性和具体协议的不确定性,商议新版代码通讯暂时使用tcp协议进行交互,伪代码如下:public class Connector {private ...

2019-07-18 10:25:12 151

原创 原则3-开放-封闭原则

我已经了解过了单一职责原则,对于一个类(或函数),有且只有一个导致其变化的原因,但是这样只能满足可复用性和可维护性,扩展性依然不好,我们来继续计算器的例子。基于单一职责原则,我们把计算器拆分为UI类和逻辑处理类,我们甚至可以把职责细分,将所有的基本运算(加、减、乘、除)都单独封装成类,这样,某一个基本运算的调整修改不会影响到其他运算,满足了单一职责原则。现在这个计算器只是针对十进制的基本运...

2019-07-18 10:23:33 108

原创 原则2-迪米特原则

参考文章:https://www.jianshu.com/p/14589fb6978ehttps://www.cnblogs.com/shangxiaofei/p/5071211.html使用参考文章里的例子来说事儿,我想实现电脑的关机功能,关机有几个步骤:保存系统当前正在执行的任务,关闭服务程序,关闭显示器,关闭电源;最简单的实现:public class Com...

2019-07-18 10:22:38 85

原创 原则1-单一职责原则

我想写一个计算器,用经典的mfc吧,因为界面和功能都很简单,所以我直接在dlg(UI类)里实现了加、减、乘、除等逻辑运算。ok可以使用了。过了一阵子,我想让他在linux上跑起来,额,不能用mfc了,用qt吧,所以直接重新设计了一下ui,然后把加、减、乘、除等函数拷贝粘贴到新项目中。在以后的时间里,不断的更新ui使其不过时。因为逻辑实现放在了ui类里,所以每次更新ui都有可能误操作逻辑运算,可维护...

2019-07-18 10:21:11 217

原创 解释器模式

时下一些产品会搞一些用处不大的功能来提高自己的逼格,而人工智能就成了一柄装逼利器。只要有点发飘的功能,就能冠以人工智能的名头。之前做过一个产品,需要产品提供语音识别功能,根据用户口令执行相关操作,类似现在的智能音箱,只不过由于产品没有硬件,所以基于应用层的语音唤醒功能很蹩脚,唤醒功能咱先不讨论,那么语音识别功能又如何实现得呢,这个说起来就复杂了,你要先注册科大讯飞账号,然后掏钱,,,,咳...

2019-07-18 10:19:29 253

原创 中介者模式

这个中介模式是我学习的时候最纠结的模式,它的字面意思很容易理解,就是把对象间复杂的交互封装起来,使对象间的耦合降低。但是多个对象间复杂的交互就一定会用到它吗,具体什么应用场景里才能合理的使用它呢?我认为,交互的行为要稳定,即抽象中介类封装的接口要稳定,也就是说这些对象间交互的行为就那几个,不会太多,也不会变,甚至就一个,这样就可以对交互进行各种重写,实现多态。举例,我比较喜欢我上一家公司的...

2019-07-18 10:17:49 85

原创 职责链模式

很多应用场景里,完成某个请求可能需要一个团体或组织中的一个或多个个体。比如我们公司请假流程,有审批权限的职位有三个:2天以内项目经理批准,3-5天部门经理批准,5天以上总经理批准,这时候你就要自己确定请假天数需要找谁审批,然后自己拿着请假条去找各个可能都没见过的领导签字,签字前还要介绍一下你是哪个部门的,好蛋疼。再说一下现在的老大难,看病,其实治病的一个机构体系是很庞大的。前阵子有点发烧,...

2019-07-18 10:16:14 102

原创 命令模式

在平日的开发过程中,稍大一些的项目都会有一些基础功能类,比如文件操作类,数据库操作类等,通常的使用方式即应用场景直接调用这些类的接口立即执行,但是这种操作不是在所有场景中都适用,我们来举几个例子。有时候需要组织请求执行顺序:小时候玩过跳跳棋,掷骰子并按照骰子的点数组织行走方案,先把所有棋子走到指定位置的棋手获胜。假设我们有一个棋子类,我们可以调用它的行走接口支配其上下左右行走,那么应用场景需要...

2019-07-16 10:32:19 73

原创 迭代模式

我们来实现一个双向链表://nodepublic class Node {public Object data;public Node next;public Node prev;public Node(Object data){this.data = data;}}//双向链表public class TwoWayLinkedList {pr...

2019-07-16 10:29:38 146

原创 组合模式

盗用网上一个大牛的栗子,杀毒,这个应用场景可以非常形象的说明我们这里将要讲到的模式。我要做一个文件管理工具,可以针对指定类型的文件进行特有操作,还可以对文件夹、word文档、jpg图片进行病毒查杀,我们正常想到的方法就是创建各种文件类型的类,然后再文件夹类中定义两个容器分别存放文件夹下所有word文件和jpg图片对应的类实例。代码如下://jpg类public class Com...

2019-07-16 10:27:58 105

原创 备忘录模式

最近看一个网络主播玩了一款建造游戏,游戏主角可以采矿种植农作物建造房屋,并从npc手中购买各种武器工具蓝图牲畜来创建家园,甚至可以招募npc并培养其各种能力成为打手医生建筑师小偷等等。不是这款游戏吸引了我,而是这个主播的玩法吸引了我,纯粹耍流氓的玩法,见到npc卖好东西就偷,被发现了就耍流氓,直接拿着砍刀上去抢,但是抢有一定几率打不过,直接挂掉,所以每次偷东西之前他都会先存一下档,挂了在读档继续偷...

2019-07-16 10:26:17 86

原创 状态模式

在某些应用场景中,类的一些具体行为取决于其当前状态,类在执行的时候必须根据其内部保存的当前状态来执行具体行为,这种类可以叫做 有状态的类,类在执行具体函数的时候,先判断状态,然后根据状态来进行下一步的操作,操作完成后做状态的变更。我们来举一个大家都用的栗子,我们常坐的电梯,一个电梯有开门,关门,停,运行等状态,而我们的具体行为要看电梯的状态而定,当我们按下电梯按钮后,电梯先判断自己的状态,如果...

2019-07-16 10:22:01 82

原创 观察者模式

赌博是有钱人才能体验的到娱乐,记得小时候的老家,每逢过年有些村民都会开赌局,我们这些小孩子有时候就会过去碰碰运气,保不准哪个亲戚在赌并且赢钱了你就会吃到喜钱,十几块到几十块不等,那时候就会有满满的幸福感。而开赌局的人是什么职责呢?提供简单的饮食,同时还要帮忙观察情况,防止警察来抓人。在这里多说几句,小赌怡情,大赌伤身。沉迷赌博的没有好下场,最终都是家破人亡的结局,这是我亲眼见证的事实。下面...

2019-07-16 10:20:11 94

原创 模板模式

我比较喜欢吃,但是自己不会做,每次想吃什么了就买了原料,然后很不熟练的收拾,然后:媳妇,做饭了,我给你准备好了;妈,做饭了,我给你切好菜了。哎,一种寄人篱下的感觉。但是我还是比较喜欢我老妈做的菜,因为我媳妇做的饭菜一般都很清淡。我们来模拟一下我媳妇做菜的类,做菜的步骤有:准备原料、烹饪、开吃、刷盘子。看看我媳妇怎么做:public class wife_cook {public voi...

2019-07-16 10:18:09 65

原创 策略模式

拿《大话设计模式》里面的一个例子说事儿,某公司要开发一套工资管理系统,负责公司人员的工资统计、计算、发放。不同职位类型的工资计算方式显然不一样,比如,销售(基本工资+项目提成),行政(基本工资+绩效+全勤),经理(基本工资+项目提成+电话补+饭补+交通补+绩效+全勤+啪啪啪补),it屌丝儿(基本工资-bug扣款)等等;普通的做法是做一个工资发放类salary,根据员工编号和员工类型计算工资并返回,...

2019-07-16 10:13:40 153

原创 结构型模式的一些概念

结构型模式描述如何组织类和对象以组成更大的结构。结构型类模式采用继承机制来组合接口和实现,结构型对象模式则采用组合聚合来组织对象以实现新功能,可以在运行时刻改变对象组合关系,具有更大灵活性。...

2019-07-16 10:10:44 168

原创 装饰者模式

借鉴一下大鸟/小菜两个人说的例子,我们来实现一下avatar系统,即换肤系统。人物出场人手一条内裤,穿什么衣服用户自己搭配。考虑到衣服种类很多,上衣裤子鞋子搭配更多,可能随着系统的迭代,衣服种类会不断增加,基于开放封闭原则,对于易变化的点进行封装,使用扩展的方式来实现穿衣的操作,代码如下(java)//finery classpublic class Finery {public ...

2019-07-16 10:09:15 67

原创 享元模式

19年5月下旬,CA发行了一款经典战争策略游戏《全战三国》,发行不到一周,玩家高峰在线数达20w,IGN给出9.3分好评,我看某主播玩了几日,从画质画风到配音到游戏内容都可圈可点。游戏里面,玩家可以从12诸侯势力中选择一个,从外交到内政到建设等等全面经营,逐步到达人生的巅峰,,,,我们从游戏开发角度来着重研究一下小战场功能的实现。小战场上,玩家要操作弓箭手、弓弩手、骑兵、投石车兵等很多个兵种作...

2019-07-15 17:15:13 140

原创 外观模式

我个人还是比较喜欢玩的,但是考虑资金问题,所以穷游居多。之前一般和三五好友约游,后来去的远了就和户外团队一起出去,我们用一个城市的旅游业来模拟一下旅游的应用场景:一个城市有N个(假设有2个)旅游景点需要门票,去这个城市的交通有M种(假设只有火车和飞机),租不同类型装备的门店有Q种(假设只有租登山用具和滑雪用具两种店),酒店有P个(假设只有两个五星级酒店),那么如果你想自己规划旅游行程要怎么做呢?...

2019-07-15 17:13:37 84

原创 适配器模式

学习适配器模式的时候看到一个哥们说的一句话,觉得很有理:学习就像煮水,断断续续的烧,水永远不会沸腾。现在的笔记本与大多外设交互都是usb接口,但不是所有外设都能直接通过usb接口连接到电脑,比如老式键盘鼠标,它们都是ps2接口的,为了使用这些外设,我们要使用转接器,例如ps2-usb转接口。其实这些转接器,包括笔记本电源电压的转换器,这些都可以叫做适配器。他们会把本不能使用的事物转换成我们期望...

2019-07-15 17:11:14 83

原创 桥接模式

我们都知道,面向对象编程的思维就是对事物基础稳定的特征进行抽象,对变化进行单独封装,从而达到解耦的目的,然而所有的事情都要辩证的去看待,面向对象编程或多或少都会增加代码的复杂度,尤其是过度不合理的使用封装、继承、多态等特性,下面我们来看下面的一种应用场景。一个事物有一个变化维度,那么我们将这个变化进行抽象封装,这样,这个变化发生后,我们可以在基类的基础上派生出新的变化类,从而达到在变化发...

2019-07-15 17:06:54 69

原创 代理模式

还是先举栗:张三家有一个女孩待嫁,她的任务很明显,化妆、穿婚纱嫁人。类的实现如下:public class girl {public void Marry(){System.out.print("make-up and wedding-dress,then marry.");}}使用场景也很简单:public class client {public sta...

2019-07-15 17:01:22 65

原创 创建型模式的一些概念

1、创建型模式的作用,将对象的创建于对象的使用分离,使得使用者不用关心具体对象的创建。2、工厂模式和建造者模式的区别,他们都是创建型模式,所以都是将对象的复杂的构建过程进行封装,使得使用者不用关心对象的构建过程,实现解耦。但是工厂模式是将有相同接口的一批或几批类的复杂构建过程进行封装,方便后面有相同接口的新类的加入。建造者模式是将一个类或n个有相同构建过程的类的复杂构建过程进行封装,使对象的构...

2019-07-15 16:57:32 183

原创 建造者模式

个人感觉二代小黄车真真没有一代的好骑了,它现在所占的优势就是投入市场早,抢占了先机。我也想造一些自行车,车头上贴上自己的二维码,然后骑着三轮车把他们投放到一个地铁口,把其他厂家的车都**,自己是不是就可以坐在马扎上数钱了,嘿嘿………说干就干,我先高仿小黄车:焊车架,造轮子,造车筐,装车轴,装链条;好了,拉去投放市场。摩拜貌似骑得人也不少啊,不行,我也要高仿摩拜单车:焊车架,造轮子,造车...

2019-07-15 16:56:29 77

原创 工厂模式

最近发现了一个比较好玩的射击类游戏,叫绝地求生,开局100人被投放到一个地图上,玩家可以自行决定在地图上的着陆位置,然后再地图中搜索枪械等武器,或者杀死其他玩家夺取其武器,在游戏只剩下一个人时,最后一个玩家为胜者。游戏里面有很多很多不同种类的枪,下面从研发的角度考虑玩家对枪的使用问题。正常的情况下,一个玩家在捡起一把AKM长枪后,长枪类CAKMGun的一个对象将会被实例化,并初始化这把枪的各种...

2019-07-15 16:55:24 322

原创 原型模式

先举栗,我想实现一个学生信息类,可以设置学生的姓名、性别、年龄、学习内容(文科、理科)、班级等信息并输出,实现如下(java)public class Student {private String strName;private boolean bSex;//true:boy ,otherwise girlprivate int iAge;private String str...

2019-07-15 16:53:30 141

原创 单例模式

我需要在软件里面做日志记录,所有类都要把日志信息写到同一个文件中,这时候需要一个新类去操作此文件实现类和日志文件的解耦和,每个类在写日志的时候只需要调用这个新日志类的一个接口,把日志信息丢给这个日志类去处理就可以了,这个日志类的实例对于整个软件来说,有一个就够了,只需要在类内部写文件的时候做资源互斥访问就可以了,这个类就可以做成单例模式。单例模式描述一个独立的类,它负责自创建唯一实例并提...

2019-07-15 16:49:51 84

原创 office 文档解析

最近在项目维护过程中涉及到了office各种文档的解析,捣鼓了好长时间,有点点收货,记下来。涉及文档:doc、docx、xls、xlsx、pptx。 下面对不同的文档进行简单解析:一、word文档1、首先想到的方法就是ado,网上一找一大片,下面给几个连接:http://www.docin.com/p-355819700.html ,,,http://huguangchaore

2013-09-18 17:00:17 2431 2

sqlitedev.exe

sqlite数据库查看,操作简单,需要安装;

2015-08-11

regdllview

regsvr32 注册web插件到本地,regdllview可以用来查看每一个注册在本地的web插件的详细信息;

2015-08-10

firebreath

activex 只支持windows 嫡系浏览器ie,对于一些国产浏览器,activex无能为力,npapi理论上支持大多数浏览器,但是其实现接口比较复杂,firebreath可以很简单的搭建npapi框架,大家只要在框架上实现自己的接口就ok了;

2015-08-10

公钥基础设施

公钥基础设施,比较直观的讲述了pki的各个组成部分,以及证书和密钥对的特性和相关pki成功实例;

2015-08-10

vim用户手册

vim使用手册,各种vim使用方法,包括基础使用方法和使用扩展;

2015-08-03

公钥基础设施.pdf

公钥基础设施,pki的基本组成部分功能介绍,证书的申请到维护到过期或注销等等,密钥对的使用,分类等等。。。。

2015-08-03

空空如也

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

TA关注的人

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