自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

君临天下的博客

每天进步一点点,邮箱:xd_wy92_yan13&126.com(&换作@即可)。

  • 博客(16)
  • 收藏
  • 关注

原创 设计模式系列(十四)组合模式(Composite Pattern)

设计模式系列(十四)组合模式(Composite Pattern)    组合模式

2015-12-22 21:07:01 992

转载 C++模板类之理解编译器的编译模板过程

C++模板类之理解编译器的编译模板过程        以前经常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”。看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WTL, 以及Boost的模板类,都能体会到这样的滋味:接口简单,操作复杂。    我在5年前开始使用模板,那时我看到了MFC的容器类。直到去年我还没有必要自己编写模板类。

2015-12-20 21:27:18 3679

原创 设计模式系列(十三)迭代器模式(Iterator Pattern)

设计模式系列(十三)迭代器模式(Iterator Pattern)    迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露器内部的表示。也就是说,迭代器模式让我们能游走于聚合内的每一个元素,而又不暴露其内部的表示,把游走的任务放在迭代器上,而不是聚合上,这样就简化了聚合的接口和实现,也让责任各得其所。    学过面向对象编程语言的朋友一定对迭代器这个设计深有

2015-12-20 20:40:40 1069

原创 设计模式系列(十二)模板方法模式(Template Method Pattern)

设计模式系列(十二)模板方法模式(Template Method Pattern)    模板方法模式是在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。    在最开始先来说一个和模板方法模式关系比较紧密的原则:“好莱坞原则”,即别调用我们,我们会调用你。形象的来说就是,别打电话给我,在我需要

2015-12-13 16:41:04 967

原创 设计模式系列(十一)外观模式(Facade Pattern)

设计模式系列(十一)外观模式(Facade Pattern)    外观模式提供了统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。外观模式的意图是简化接口,让用户更加方便使用。举例来说,如果在家里布置了一个家庭影院,包括电影显示器,遥控器,爆米花机器等,当你想要享受一场电影的时候,你需要打开显示器、操作遥控器的一系列按钮、打开爆米花机器等,也就是说享

2015-12-11 20:35:13 691

原创 设计模式系列(十)适配器模式(Adapter Pattern)

设计模式系列(十)适配器模式(Adapter Pattern)    适配器模式是将一个类的接口转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。适配器实现了客户与具体实现的解耦,简单来说,适配器模式就是改变接口以符合客户的期望。例如:我们生活中常见的插座的适配器、无线网卡适配器、电源适配器等,这些都是用来进行不同接口的转换,更具体的来说就是我们手机充电的时候可能只需

2015-12-11 19:45:42 824

原创 设计模式系列(九)命令模式(Command Pattern)

设计模式系列(九)命令模式(Command Pattern)    命令模式是将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,命令模式也支持可撤销的操作。命令模式将行为请求者与行为执行者解耦,从而实现了松耦合的原则。例如:去餐厅点餐的时候,顾客只负责点餐,然后交给服务员,服务员将订单交给厨师去做,最后顾客开始享用美味的饭菜,但是整个过程顾客只关心自己点了什么,而不关

2015-12-10 20:10:51 988

原创 设计模式系列(八)单例模式(Singleton Pattern)

设计模式系列(八)单例模式(Singleton Pattern)    单例模式就是确保一个类只有一个实例,并提供一个全局的访问点。具体来看,就是指定义的某个类,在程序运行期间,只允许有一个实例对象,即在内存中仅仅有一块内存用来存储这个类的唯一的实例对象,程序运行期间不允许出现第二个该类的实例对象。    很多会问,为什么定义了一个类却只实例化一个对象。这个主要是因为,有时

2015-12-07 11:28:18 901

原创 设计模式系列(七)简单工厂模式、工厂方法模式和抽象工厂模式对比

设计模式系列(七)简单工厂模式、工厂方法模式和抽象工厂模式对比    在前面的三篇文章中,依次讲解了简单工厂模式、工厂方法模式和抽象工厂模式,这篇文章主要对其进行简单的对比和概括,详细部分大家可以参考前三篇文章。    简单工厂模式:点击打开链接    工厂方法模式:点击打开链接    抽象工厂模式:点击打开链接    下面我们来总体看一下这三个模式的例

2015-12-05 13:16:19 817

原创 设计模式系列(六)抽象工厂模式(Abstract Factory Pattern)

设计模式系列(五)抽象工厂模式(Abstract Factory Pattern)    抽象工厂模式

2015-12-04 16:47:48 834

原创 设计模式系列(五)工厂方法模式(Factory Method Pattern)

设计模式系列(五)工厂方法模式(Factory Method Pattern)

2015-12-04 16:10:31 836

原创 设计模式系列(四)简单工厂模式(Simple Factory Pattern/Static Factory Method)

设计模式系列(四)简单工厂模式(Simple Factory Pattern/Static Factory Method)    简单工厂模式又被成为静态工厂方法,所以其外文名一般是Static Factory Method。其属于创建型模式,本质上并不属于23种GOF设计模式之一,这种模式可以称之为一种编程习惯,算是一种比较良好的设计习惯。那么什么是简单工厂设计模式呢?从概念上来

2015-12-04 09:56:16 934

原创 设计模式系列(三)装饰者模式(Decorator Pattern)

设计模式系列(三)装饰者模式(Decorator Pattern)    装饰者模式是指动态地将责任附加到对象上,而不必改变原类文件。对于扩展功能,装饰者模式提供了继承以外的另一种扩展对象功能的方式,不过装饰者模式比继承更加具有弹性。装饰者模式允许行为可以被扩展,而无须修改现有的代码。它使用组合和委托的方式来实现。    装饰者模式的设计原则是:开放-关闭原则,即对扩展开放

2015-12-01 21:18:10 699

原创 设计模式系列(二)观察者模式(Observer Pattern)

设计模式系列(二)观察者模式    观察者模式是指在对象之间定义一对多的依赖,这样一来,当一个对象改变状态时,依赖它的对象都会收到通知,并自动更新,这里有主题和观察者之分,一般也可以称为发布/订阅模式。最简单的例子就是订阅报纸,比如说自己作为观察者,订阅了"人民日报"这个主题,那么当人民日报出新的报纸的时候就会及时送到自己即观察者的手中。    观察者模式的实现方法有很多种,一

2015-12-01 17:33:52 740

原创 设计模式系列(一)策略模式(Strategy Pattern)

设计模式系列(一)策略模式     设计模式作为一种经验的总结,只要使用恰当可以帮助我们解决很多问题,尤其是实现代码的复用和扩展。现在先来看看第一种设计模式,即策略模式(Pattern:Strategy)。     策略模式是指定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 (1)优点:可以动态地改变对象的行为,主要是通过组合和多

2015-12-01 17:23:17 1024

原创 用EA(Enterprise Architect)将C++的".h"文件转换成UML类图

如何使用EA(Enterprise Architect)工具使C++程序生成UML类图    本篇文章主要针对于C++程序的UML类图生成方法介绍。大家可以在网上先搜索Enterprise Architect工具,下载后安装使用,这个工具很强大,不过本文只介绍最简单的UML类图生成方法,仅针对于C++的.h文件,过程也很简单。(1)点击Creat a New Project

2015-12-01 11:27:08 7648 1

空空如也

空空如也

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

TA关注的人

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