自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

人生有梦不怕迟

虽然后知后觉起步,却志在先发制人

  • 博客(18)
  • 资源 (12)
  • 收藏
  • 关注

原创 春秋战国至秦汉历史脉络图

春秋战国(公元前770年-公元前221年)是中国历史上的一段大分裂时期。东周在战国后期(前256年)被秦国所灭,所以春秋战国时期在时间上并不全然包含在东周王朝里面。西周时期,周天子保持着天下共主的威权。周平王东迁以后,东周开始,周室开始衰微,只保有天下共主的名义,而无实际的控制能力。中原各国也因社会经济条件不同,大国间争夺霸主的局面出现了,各国的兼并与争霸促成了各个地区的统一。因此,东周时期的社会

2017-05-27 13:55:10 15173 6

原创 三国历史脉络图

三国(220年-280年)是上承东汉下启西晋的一段历史时期,分为曹魏、蜀汉、东吴三个政权。赤壁之战时,曹操被孙刘联军击败,奠定了三国鼎立的雏型。220年,曹丕篡汉称帝,国号“魏”,史称曹魏,三国历史正式开始。次年刘备在成都延续汉朝,史称蜀汉。222年刘备在夷陵之战失败,孙权获得荆州大部。223年刘备去世,诸葛亮辅佐刘备之子刘禅与孙权重新联盟。229年孙权称帝,国号“吴”,史称东吴,至此三国正式

2017-05-26 16:46:11 7086

原创 汉朝历史脉络图

欢迎加好友一起讨论历史:QQ 1040104526

2017-05-24 15:56:58 9913 2

原创 设计模式六大原则之一:单一职责原则

遵循单一职责原则可以使功能细化到每一类身上, 降低功能颗粒度, 从而能够使得面临需求变更时, 能够将影响控制在最小范围内,并且方便扩展,从而达到迭代开发效果 详见下图: 参考博客:http://blog.csdn.net/zhengzhb/article/details/7278174 参考书籍:《设计模式之禅》

2017-05-19 16:12:11 338

原创 设计模式六大原则之五:迪米特法则

遵守迪米特法则编程可使程序类间耦合度降低,程序结构清晰。 带来的负面影响是程序变得复杂, 维护难度增加。 详见下图:参考文章:http://blog.csdn.net/zhengzhb/article/details/7296930 参考书籍:《设计模式之禅》

2017-05-19 11:16:44 476

原创 设计模式六大原则之四:接口隔离原则

接口隔离原则的含义是:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。在程序设计中,依赖几个专用的接口要比依赖一个综合的接口更灵活。接口是设计时对外部设定的“契约”,通过分散定义多个接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。详见下图:使用接口隔离原则设计接口时,要花

2017-05-17 10:16:52 444 2

原创 设计模式六大原则之三:依赖倒置原则

使用依赖倒置原则开发的程序非常利于扩展和维护,是实现开闭原则的基础,详见下图:示例类图: 具体文字描述,可以参考文章:http://blog.csdn.net/zhengzhb/article/details/7289269 注,本文并非对该链接的整理

2017-05-16 14:05:39 413

原创 C++接口,纯虚函数,抽象类的关系

C++没有提供interface这样的关键字来定义接口, 所以我们使用纯虚函数来实现接口功能,接口的使用可以使类之间的耦合度降低,从而避免因功能变更而导致高层频繁做出修改的现象发生(具体见“依赖倒置原则”),此处只给出基本的接口概念,便于后续知识学习,见下图: 后面会详细介绍“依赖倒置原则”,欢迎留言讨论!

2017-05-16 11:42:00 421

原创 排序算法关系图

设计模式和算法可谓是众多成员的软肋,尤其是算法,哪怕是多年的老油条,也不见得对所有的排序算法了如指掌,相反由于现在开源工具过于强大,常年的信手调用反而导致老司机们对基本的算法干货更说不清楚。最近开始整理算法只是,此处给出一个大体脉络图,希望对诸位同僚有益,见下图:over, let’s call it a day!

2017-05-15 18:02:04 859

原创 UML符号意义

最近在使用startUML画uml类图,顺便梳理了一下类图符号之间的关系,详情如下: 更新:添加左上角的“总结”, 欢迎留言讨论!

2017-05-15 17:52:49 601 1

原创 设计模式六大原则之二:里氏替换原则

这个模式从名字到解释都是云里雾里的,拜读了几篇博客,还是有些模棱两可,先整理一下,后续若理解深刻了,会持续更新。通俗定义:所有引用基类的地方必须能透明地使用其子类的对象问题由来:问题由来:有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与新功能P2组成。新功能P由类A的子类B来完成,则子类B在完成新功能P2的同时,有可能会导致原有功能P1发生故障(如下图)

2017-05-13 16:11:24 435

原创 C++重载,重写,重定义的区别

这三个概念一直比较混乱,正好看到了篇帖子,感觉不错,梳理了一下,详见下图:参考文章:http://blog.sina.com.cn/s/blog_8ddc5c2e01013hbd.html测试代码:test.h#ifndef _TEST_H#define _TEST_H#include <iostream>using std::cout;using std::endl;class Base{

2017-05-11 20:45:17 593

原创 C++ 建造者模式

前言建造者模式顾名思义描述的是对一个产品的建造过程,它主要用于创建流程固定,但是具体顺序不同的产品。四个角色产品类(Product) ====>(定义产品) 目标对象,通常是实现了模板方法模式, 即在产品基类中有模板方法和基本方法。抽象建造者(Builder) 规范产品的组件,易于扩展,一般至少会有两个抽象方法,一个用来建造产品,一个是用来返回产品。具体建造者(ConcreteBuil

2017-05-10 17:24:04 401

原创 C++ 单例模式

前言单例模式是最常用的设计模式之一, 它可以保证系统中只有一个实例,从而避免频繁的创建和销毁对象,减少系统开销特点全局只有一个实例,所有模块共享提供一个全局访问的方法:getInstance()代码实现#ifndef _SINGLETON_H#define _SINGLETON_Hclass Singleton{public: static Singleton * getIns

2017-05-08 20:12:12 591

原创 春秋战国历史脉络图

最近在读微信读书, 看到了一本非常有意思的书<<半小时漫画中国史>>,这本书将中国历史结合漫画故事来讲,娓娓道来,主线非常清晰, 一下子就将历史时间轴和各种耳熟能详的故事穿插了起来。趁着周末休息,在家带娃之余,借助强大的思维导图工具Xmind,我将书的脉络梳理了一下,分别奉上图片版和.xmid文件,详情如下:![这里写图片描述](http://img.blog.csdn.net/201705081

2017-05-08 16:17:01 11032 1

原创 为什么单例模式中要使用静态变量

可以从两方面理解:首先,类的静态成员变量就是指的类共享的对象,而单例模式的对象设成静态就是为了让该类所有成员共享同一个对象,所以从语义上是合适的;其次,从语法考虑,常见的单例模式都是通过一个静态方法(如getInstance)返回其单例,因为静态方法的内部不能直接使用非静态变量,所以返回的这个实例就是静态的

2017-05-08 10:43:33 5667 3

转载 C++中static作用

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数(见上篇),不涉及类;后者主要说明static在类中的作用。下图是对下面文字的总结: 静态数据成员在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员。先举一个静态数据成员的例子。//Example 1include <iostream.h>c

2017-05-06 11:40:55 403

转载 C语言中 static作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。隐藏保持数据持久初始化为0该图是下面文字的总结:1.先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; //

2017-05-06 11:03:48 1307

图解服务器端网络架构

图解服务器端网络架构

2017-06-02

vim使用手册

vim_cheat_sheet, vim使用手册

2017-06-02

程序员的数学

程序员的数学

2017-06-02

程序员的数学3(线性代数)

程序员的数学 3 线性代数

2017-06-02

30天自制操作系统源码

30天自制操作系统源码

2017-06-02

图解网络硬件

图解网络硬件

2017-06-01

计算机是如何跑起来的(影印版全)

计算机是如何跑起来的(影印版全)

2017-06-01

30天自制操作系统pdf(影印版全)

30天自制操作系统pdf(影印版全)

2017-06-01

重载重写重定义测试代码

c++重载,重写,重定义测试代码

2017-05-13

建造者模式c++实现

c++实现建造者模式,可直接运行

2017-05-10

空空如也

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

TA关注的人

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