自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李兰溪的专栏

君子生非异也,善假于物也

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

原创 C++设计模式之装饰模式

C++设计模式之装饰模式 动态地给一个对象增加一些额外的职责,就增加对象的功能来说,装饰模式比生成子类更为灵活。装饰模式是一种对象结构模式。 一、缘由我们常常通过继承的方式来对一个既有的类进行功能添加,但继承方式有显著的局限性,因为 继承具有侵入性 继承是一种is a的关系,具有强耦合性,难以复用代码。 例如在窗口控件当中,要增加新的功能如增加滚动条,增加背景图片,通过继承的方式来增加新的功能,

2016-03-06 17:00:53 893

原创 C++设计模式之组合模式

C++设计模式之组合模式 组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 C设计模式之组合模式 一缘由 二实现 三实例代码 一、缘由在自然界中常常存在着许多树形关系,例如公司的结构,有子公司,部门。又如文件系统的结构,目录下边有目录或者文件,而目录下的目录又有目录和文件,如此递归下去。而组合模式就是为了处理这种树形关系而存在的

2016-03-05 23:42:22 851

原创 C++设计模式之桥接模式

C++ 设计模式之桥接模式 将抽象部份与它的实现部份分离,使它们都可以独立地变化。 C 设计模式之桥接模式 一缘由 二实现 三代码 四总结 一、缘由假设现在需要大、中、小、三种型号的画笔来绘制7种不同的颜色,如果使用蜡笔,就需要准备 3*7 = 21支蜡笔。而如果使用毛笔,则只需要3支毛笔和7中颜料。显然使用毛笔的形式要比蜡笔简单许多,这其中缘由在于在蜡笔这个对象中型号和颜料两个不同维度的因素耦

2016-03-05 21:58:04 850

原创 C++设计模式之适配器模式

C++设计模式之适配器模式 将一个接口转换成客户希望的另一个接口使得接口不兼容的那些类可以一起工作 C设计模式之适配器模式 一缘由 二实现 三示例代码一、缘由适配器模式是我个人使用频率比较高的模式,十分简单实用。在许多情况下,我们自己的系统A,要使用既有对象B的接口,但无奈我们的既有系统A和B接口不兼容,这时候适配器可以帮我们解决这个问题。二、实现假设现在有一个函数static void req

2016-03-05 15:13:52 677

原创 C++设计模式之建造者模式

C++设计模式之建造者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 C设计模式之建造者模式 一缘由 二实现 三代码分析 四总结 一、缘由当我们在构造一个窗口控件的时候,往往包含三个方面的初始化工作: UI初始化 动画初始化 信号槽初始化 这样我们就可以构造好一个窗口控件了,我们可以看以下类图:乍一看该实现并没有什么问题CenterWidget类在其构造函数中调

2016-03-05 03:02:07 625

原创 C++设计模式之原型模式

C++设计模式之原型模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 C设计模式之原型模式 一缘由 二实现 三代码分析 一、缘由在许多环境下,我们需要从一个A对象生成一个B对象以减小A和B对象的重复代码,例如创建100个只有名字不同而其它信息都相同的Person类实例,这样就可以使用原型对象,从一个Person实例中构造其它99个实例,方便快捷。事实上C++的拷贝构造函数就可

2016-03-04 21:22:45 489

原创 C++设计模式之抽象工厂模式

C++设计模式之抽象工厂模式C设计模式之抽象工厂模式 一缘由 二实现 三代码分析 四总结一、缘由在《C++设计模式之工厂方法模式》一文中我们提到,由于简单工厂模式当中的工厂类职责过重,严重违反了单一职责的原则,导致系统扩展十分困难,于是引出了工厂方法模式,工厂方法模式引入抽象的工厂类,具体的创建工作推迟到每个具体的工厂类中,这样每个具体工厂类只负责一种产品的创建,这样每个具体工厂类的职责就足够单一,

2016-03-03 17:08:20 656

原创 C++设计模式之工厂方法模式

C++设计模式之工厂方法模式C设计模式之工厂方法模式 一使用情景 二实现 三代码分析 五总结一、使用情景简单工厂模式运用十分简便,但是正如《简单工厂模式》一文中所说的,简单工厂模式具有一个致命的缺点:拓展困难,只要增加新的具体类,就需要对工厂类进行修改,这一点严重违反了开闭原则。我们在思索如何能够实现增加新的产品而不至于修改已有的代码时,工厂方法模式应运而生。二、实现在简单工厂模式中,一个工厂类负责

2016-03-03 15:30:26 549

原创 C++设计模式之简单工厂模式

C++ 设计模式之简单工厂模式C 设计模式之简单工厂模式 一使用情景 二实现 三代码分析 五总结一、使用情景在许多情况下,我们需要创建一系列的类的实例,并且这些实例的创建过程都十分繁琐,这时候我们可以将这些类的创建过程都封装到一个工厂类中,由工厂类进行创建,从而屏蔽了创建的细节。 简单工厂的定义如下: 定义一个工厂类,它可以根据参数的不同返回不同类型的实例,被创建的实例通常都具有相同的父类。因

2016-03-03 00:28:32 664

原创 C++设计模式之单例模式

C++设计模式之单例模式C设计模式之单例模式 一使用情景 二实现 三代码分析 四多线程环境下的单例模式一、使用情景在很多环境下,我们需要保证某些特殊对象在整个系统中的唯一性。windows的资源管理器就是一个很好的例子。无论我们点击多少次“启动任务管理器”都只弹出来一个任务管理器窗口。因为如果弹出多个窗口,而这些窗口的内容都一模一样,全部都是重复的对象,那是没有意义的,而且还会浪费系统资源。而单例模

2016-03-02 22:44:29 499

原创 设计模式之初识UML图

C++设计模式之初识UML图C设计模式之初识UML图 继承 实现 依赖 关联 一般关联 聚合关联 组合关联 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系 实现指的是一个class类实现了interface的功能;实现是类与接口之间最常见的关系。依赖类A使用到了类B,这种使用的关系是运行时的

2016-03-02 20:05:13 703 1

原创 单一职责和里氏替换

单一职责和里氏替换单一职责和里氏替换 一单一职责原则 1 原则解读 2 例1 3 例2 二里氏替换原则 1 原则解读一、单一职责原则1.1 原则解读 原则定义:应该有且仅有一个原因引起类的变更,也可以说成是一个类只负责一件事情。 该原则要求类的职责明确清晰,这样符合该原则的设计有如下好处: 由于单个类只负责一件事情,职责清晰明确,类的复杂性降低 单个类的复杂性降低,整体可读性提高 可读性好,可维

2016-03-02 09:34:16 667

RT5350资料,包括开发板原理图,SDK

RT5350资料,包括开发板原理图,SDK

2019-03-21

PRML中文版

PRM中文版PDF,高清非扫描!

2019-03-21

PCDUINO入门教程

PCDUINO快速入门教 程快速上手 初学者适用

2014-05-07

linux中文源码+注释

linux源码完整详细注释,进阶linux高手的大门。你值得拥有

2014-05-01

精华版DXP(AD10)元件库,封装库

超级DXP AD10元件库。精华版.超强大,常用元件库面面俱到。

2014-02-03

基于STM32的远程视频传输实现

基于STM32的远程视频传输.带源码和详细教程

2014-01-12

Cx51中文手册.pdf

51的中文手册

2014-01-03

51微型编程器制作.rar

51微型编程器制作.rar 快来做自己的编程器吧

2014-01-03

烟雾报警器

模拟电路的传感器实现

2013-12-27

空空如也

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

TA关注的人

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