自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿老樊的博客

学而知不足,思而得远虑,悟而能后进,吾之小博,乃工作学习点滴记录之用!

  • 博客(21)
  • 资源 (52)
  • 收藏
  • 关注

原创 优秀程序设计的18大原则

优秀程序设计的18大原则1、避免重复原则(DRY - Don’t repeat yourself)编程的最基本原则是避免重复。在程序代码中总会有很多结构体,如循环、函数、类等等。一旦你重复某个语句或概念,就很容易形成一个抽象体。2、抽象原则(Abstraction Principle)与DRY原则相关。要记住,程序代码中每一个重要的功能,只能出现在源代码的一个位置。

2016-07-11 17:07:57 6276

原创 C++11标准库新加功能详解

一、Lambda表达式的引进        Lambda表达式的形式是这样的:[capture](parameters)->return-type{body}来看个计数某个字符序列中有几个大写字母的例子:intmain(){chars[]="HelloWorld!";intUppercase=0;//mod

2016-07-24 15:57:30 4571

原创 组合/聚合复用原则详解--七大面向对象设计原则(7)

组合/聚合复用原则来源:       在面向对象的设计中,如果直接继承基类,会破坏封装,因为继承将基类的实现细节暴露给子类;如果基类的实现发生改变,则子类的实现也不得不发生改变;从基类继承而来的实现是静态的,不可能在运行时发生改变,没有足够的灵活性。于是就提出了组合/聚合复用原则,也就是在实际开发设计中,尽量使用合成/聚合,不要使用类继承。即在一个新的对象里面使用一些已有的对象,使之成为新对象

2016-07-19 21:56:13 11914 1

原创 迪米特法则详解--七大面向对象设计原则(6)

迪米特法则的来源: 迪米特法则又叫最少知道原则,最早是在1987年由美国Northeastern University的Ian Holland提出。类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。于是就提出了迪米特法则。通俗的来讲,就是一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内

2016-07-19 19:07:42 10862

原创 开放-封闭原则详解--七大面向对象设计原则(5)

开闭原则来源:       在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。开闭原则作用:       当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化;       开闭原则可是保持原有的测试代码仍然能够正常

2016-07-16 07:20:22 1241

原创 接口隔离原则详解--七大面向对象设计原则(4)

接口隔离原则的来源:  类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。因为使用多个专门的接口比使用单一的总接口要好,所以便提出了接口隔离原则。接口隔离原则的目的:  将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。接口隔离原则的两种定义

2016-07-15 22:30:47 2144 1

原创 依赖倒置原则详解--七大面向对象设计原则(3)

依赖倒置原则来源:         类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。         依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单

2016-07-15 19:26:40 3286

原创 Centos配置Nginx负载均衡详解

在日常网络数据开发中,我们对服务器的处理能力要求很高,但是在服务器有限的情况下,怎么才能更好的利用服务器资源,使得我们的服务器最大限度发挥自己的作用,负载均衡是一种很好的办法。       哪什么是Nginx负载均衡呢?       Nginx是一个轻量级的、高性能的WebServer,他主要可以干下面两件事:(1).作为http服务器(和apache的效果一样)(2).作为反向代

2016-07-15 10:11:21 5603

原创 里氏替换原则详解--七大面向对象设计原则(2)

里氏替换原则来源:        我们都知道面向对象有三大特性:封装、继承、多态。所以我们在实际开发过程中,子类在继承父类后,根据多态的特性,可能是图一时方便,经常任意重写父类的方法,那么这种方式会大大增加代码出问题的几率。比如下面场景:类C实现了某项功能F1。现在需要对功能F1作修改扩展,将功能F1扩展为F,其中F由原有的功能F1和新功能F2组成。新功能F由类C的子类C1来完成,则子类C1在

2016-07-14 08:56:19 3023 3

原创 单一职责原则详解--七大面向对象设计原则(1)

单一职责原则来源:      定义:单一职责就是一个类负责一项职责.就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因。      所谓职责,我们可以理解为功能,就是设计的这个类功能应该只有一个,而不是两个或更多。也可以理解为引用变化的原因,当你发现有两个变化会要求我们修改这个类,那么你就要考虑撤分这个类了。因为职责是变化的一个轴线,当需求变化时,该变化会反映类的职责的变

2016-07-14 08:48:40 1956

原创 Interpreter 模式详解--设计模式(23)

Interpreter 模式的来源:        Interpreter(解释器)模式是一种特殊的设计模式,它建立一个解释器(Interpreter),对于特定的计算机程序设计语言,用来解释预先定义的文法。简单地说,Interpreter模式是一种简单的语法解释器构架。解释器模式属于行为模式,给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

2016-07-09 08:45:27 7752

原创 Iterator模式详解--设计模式(22)

Iterator模式来源:        迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。从定义可见,迭代器模式是为容器而生。Iterator模式作用:(1).它支持以不同的方式遍历一个聚合复杂的聚合可用多种方式进行遍历,如二叉树的遍历,可以采用前序、中序或后

2016-07-08 08:58:14 1224

原创 Chain of Responsibility模式详解--设计模式(21)

Chain of Responsibility模式来源:        熟悉VC/MFC的都知道,VC是“基于消息,事件驱动”,消息在VC开发中起着举足轻重的作用。在MFC中,消息是通过一个向上递交的方式进行处理,例如个WM_COMMAND消息的处理流程:  注明:有关MFC消息处理更加详细信息,请参考候捷先生的《深入浅出MFC》。        MFC提供了消息的处理的链式处理策略,

2016-07-08 08:43:19 915

原创 Visitor模式详解--设计模式(20)

Visitor模式来源:Visitor模式作用:Visitor模式UML结构图如图1所示:                             Visitor模式来源:Visitor模式来源:

2016-07-07 08:40:36 6439

原创 Command模式详解--设计模式(19)

Memento模式来源:      Command模式通过将请求封装到一个对象(Command)中,并将请求的接受者存放到具体的ConcreteCommand类中(Receiver)中,从而实现调用操作的对象和操作的具体实现者之间的解耦。Memento模式作用:      将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可

2016-07-06 08:58:20 7272

原创 Mediator模式详解--设计模式(18)

Mediator模式来源:

2016-07-06 08:42:48 974

转载 中小型网站架构分析和优化

以上网站架构广泛运用中大型网站中,本文从架构每一层分析所用主流技术和解决手段,有助于初入网站运维朋友们,进一步对网站架构认识,从而自己形成一套架构概念。第一层:CDN国内网络分布主要南电信北联通,造成跨地区访问延迟大问题,对于有一定访问量网站来说,增加CDN(内容分发网络)层可有效改善此现象,也是网站加 速的最好选择。CDN把网站页面缓存到全国分布的节点上,用户访问时从最近的机房获

2016-07-05 09:30:48 675

原创 Memento模式详解--设计模式(17)

Memento模式来源:     我们在进行软件系统的设计时候是要给用户后悔的权利(实际上可能也是用户要求的权利:)),我们对一些关键性的操作肯定需要提供诸如撤销(Undo)的操作。那这个后悔药就是Memento模式提供的。Memento模式作用:      在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态

2016-07-02 08:48:07 1087

原创 Observer模式详解--设计模式(16)

Observer模式来源:         Observer模式应该可以说是应用最多、影响最广的模式之一。         因为Observer的一个实例Model/View/Control(MVC)结构在系统开发架构设计中有着很重要的地位和意义,MVC实现了业务逻辑和表示层的解耦。在MFC中,Doc/View(文档视图结构)提供了实现MVC的框架结构(有一个从设计模式(Observer模

2016-07-02 08:47:42 3123

原创 C++状态模式详解--设计模式(15)

State模式来源:        每个人、事物在不同的状态下会有不同表现(动作),而一个状态又会在不同的表现下转移到下一个不同的状态(State)。最简单的一个生活中的例子就是:地铁入口处,如果你放入正确的地铁票,门就会打开让你通过。在出口处也是验票,如果正确你就可以ok,否则就不让你通过(如果你动作野蛮,或许会有报警(Alarm))。      有限状态自动机(FSM)也是一个典型的状态不同,...

2016-07-01 08:51:21 9696 4

原创 C++策略模式详解--设计模式(14)

Strategy模式来源:       在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个统一的方...

2016-07-01 08:51:02 1261

Navicat安装指导及安装资源

Navicat安装指导及安装资源2024最新版,博主个人机器亲测自用版本! Navicat是一款流行的数据库管理工具,它支持多种数据库的连接,如MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL以及SQLite等。Navicat提供了一个直观的界面,使得数据库的管理、开发和维护变得更为简单便捷。其功能包括数据库的结构同步、数据备份恢复、查询编写执行、报表生成等。Navicat的用户群体包括数据库管理员、开发人员和分析师等。 2024年的最新版Navicat带来了更多的功能改进和性能提升。以下是Navicat 2024最新版的安装指导和获取安装资源的方法。

2024-03-23

VS2013,2015完全卸载工具

VS2013,2015完完全卸载工具,下载解压,执行exe文件即可使用!

2017-10-20

vs加载Qt插件

qt-vs-addin-1.2.3-opensource工具,vs原网站下载,自测可用!

2017-10-20

网络通讯测试小工具

usr-tcp232-test,支持多种网络通讯和协议的小工具!很好用!

2017-10-20

npcap网络插件

npcap单机循环网卡插件,非常好用,解决有限资源下的网络验证

2017-10-20

Wireshark网络抓包工具

Wireshark,最好用的网络抓包工具之一,支持UDP,TCP,HTTP及上千种通讯协议

2017-10-20

剑指offer Python版本经典代码集合

剑指offer Python版本经典代码集合

2017-06-01

rdesktop安装包

rdesktop,包括安装包和pdf安装步骤

2017-06-01

vncserver和vncviewer

VNC64位和32位安装包,包括客户端和服务端,VNC-6.1.0-Linux-x64-RPM.tar.gz,VNC-6.1.0-Linux-x86-RPM.tar.gz,亲测可用!

2017-06-01

正版VS2017exe安装下载

正版VS2017exe安装下载

2017-03-20

Qt快速入门

Qt快速入门资料个人整理,分享给初学者,希望对大家有帮助!

2016-09-22

Linux_C编程一站式学习_最终版

Linux_C编程一站式学习_最终版,很全很详细!与大家共享!

2016-05-30

大数据资料集锦

Hadoop集群监控与Hive高可用,Hadoop现场演示与编程过程,hadoop中文版API,HAWQ, 分布式SQL数据库引擎原生基于Hadoop HDFS,QCon-曹龙-Hadoop2.0应用-基于Yarn的淘宝海量数据服务平台V03,高可用性的HDFS-Hadoop分布式文件系统深度实践,海量数据处理——hadoop,基于Hadoop的分布式搜索引擎关键技术,理解大数据企业级 Hadoop 和流数据分析, 云计算分布式大数据Hadoop实战之路--从零开始(第1-10讲)

2016-03-30

Hadoop技术全套图书

Hadoop技术全套图书,在Windows上安装Hadoop教程.pdf,hadoop伪分布配置自写.doc,hadoop伪分布配置自写.doc,Facebook的实时Hadoop系统.pdf,Hadoop权威指南(第2版).pdf,hadoop的首次使用.docx,个人收集,与大家分享!

2016-03-21

Hadoop云计算技术介绍

Hadoop云计算技术介绍,很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop深度实战

Hadoop深度实战,详解Hadoop实战,与大家分享!

2016-03-21

Hadoop权威指南(中文版)(带书签)

Hadoop权威指南(中文版)(带书签),个人觉得不错的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop权威指南(第2版)

Hadoop权威指南(第2版),很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop命令手册

Hadoop命令手册,很详细很全的Hadoop命令资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop集群之—常用MySQL数据库命令_V1.0

Hadoop集群之—常用MySQL数据库命令_V1.0,很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop集群之—MySQL关系数据库_V1.0

Hadoop集群之—MySQL关系数据库_V1.0,很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Apache_Hadoop入门第一步

Apache_Hadoop入门第一步,很详细很好的Hadoop入门部署资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

《实战Hadoop--开启通向云计算的捷径》源码

《实战Hadoop--开启通向云计算的捷径》源码,很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop源代码分析(完整版)

Hadoop源代码分析(完整版),很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

数据仓库ETL建设宝典

数据仓库ETL建设宝典,最新最全的ETL建设方案和详解!与大家分享!

2016-03-10

3种常用代码检查审核管理工具

三种常用代码审核管理工具安装包,跟大家分享!

2016-03-09

云计算详解及经典架构

云计算详解及经典架构,与大家分享!

2016-03-09

jQuery瀑布流经典布局源码

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。Jquery瀑布流布局经典布局原码,适用于推广网站,网上商城等架构,希望对大家有帮助!

2016-01-28

大数据集群部署手册(最新最全)

大数据集群部署手册(最新最全),个人已经验证过了!希望对大家有帮助!

2016-01-28

最新人脸识别C++源码

Face_Demo_SDK(最新人脸识别源码)技术,包含源码,可执行文件安装包,详细使用说明!

2016-01-11

MySQL命令大全

MySQL命令大全,很好,很详细的一本mysql资料!

2015-12-28

Linux下C语言开发集锦

Linux下C语言开发集锦,汇集经典案例,分享给大家!

2015-12-23

Linux+C函数库参考手册

Linux+C函数库参考手册,详解linux的常用函数用法,很全!

2015-12-23

linux网络编程详解

linux网络编程详解,看了很多linux网络编程的书,就这本很经典,在此,与大家分享。

2015-12-23

linux shell 编程详解

linux shell 编程详解,这是一步绝好的shell编程的经典资料,与大家分享,感谢作者!

2015-12-23

linux操作系统原理及应用详解

linux操作系统原理及应用,详解linux架构及工作原理.

2015-12-23

Redhat centos

Redhat centos宝典,适合初学者

2015-12-23

SUSE Linux 10宝典

SUSE Linux 10宝典,适合初学者

2015-12-23

LINUX认证权威指南-第三版,个人觉得本书不错,可以看看!

LINUX认证权威指南-第三版,个人觉得本书不错,可以看看!

2015-12-23

Linux系统命令行基本操作详解

Linux系统命令行基本操作,很详细,PPT详解,图文结合,更容易理解,适合初学者!

2015-12-23

空空如也

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

TA关注的人

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