自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HW的博客

编程之路,其路漫漫,吾将上下而求索

原创 策略模式Strategy

策略模式是行为模式的一种,和模板模式解决的问题一样,实现了通用逻辑和算法细节的解耦合,不同的是模板模式采用继承实现,基类中通用逻辑需要确定下来不可随意更改,策略模式采用组合实现,比较灵活,能在通用逻辑上抽象出接口,方便通用逻辑的变化。 下面给出UML类图和C++代码示例:

2016-09-26 19:24:09 465 0

原创 模板模式Template

模板模式是行为模式的一种,基类中封装了通用的逻辑流程,子类中实现具体的细节,用于通用逻辑已经确定的场合,缺点就是基类无法独立变化,一旦修改很容易引起逻辑错误。 下面给出UML类图和C++代码示例:

2016-09-26 19:22:35 450 0

原创 门面模式Facade

门面模式是结构型模式的一种,它将多个分散的类所做的工作集中到一个类中完成,在高层给出来统一的接口。 下面给出UML类图和C++示例代码: #ifndef __FACADE_H__ #define __FACADE_H__ class CSubSystem1 { publ...

2016-09-18 19:35:38 419 0

原创 组合模式Composite

组合模式是结构型模式的一种,通过添加删除组件,遍历去执行操作。 #ifndef __COMPOSITE_H__ #define __COMPOSITE_H__ #include using namespace std; class IElement { protected:...

2016-09-14 16:27:39 383 0

原创 桥梁模式Bridge

桥梁模式是结构型模式的一种,之所以叫做桥梁模式是因为它的UML图画出来像一个桥梁,抽象和实现分居两头,都能独立的变化。 当抽象接口变化时,我们只需要重新添加一个抽象的子类;当实现变化时,我们只需要添加一个实现的子类。 #ifndef __BRIDGE_H__ #define __BRIDGE_...

2016-09-14 15:38:42 973 0

原创 装饰模式Decorator

装饰模式是结构型模式的一种,当我们需要对原有类的接口增加点新的东西(或者说增加点装饰)时,我们可以采用装饰模式。 使用public接口继承,保存指针的方式完成实现继承。 #ifndef __DECORATOR_H__ #define __DECORATOR_H__ class IOrig...

2016-09-14 14:48:10 407 0

原创 适配器模式Adapter

适配器模式是结构性模式的一种,目的是将第三方提供的不兼容接口适配成我们的目标接口。 #ifndef __ADAPTER_H__ #define __ADAPTER_H__ class CThirdParty { public: CThirdParty() {} ~CThir...

2016-09-14 14:04:25 393 0

原创 工厂模式Factory

工厂模式是创建型模式的一种,又可以根据需求的复杂度分为简单工厂和抽象工厂。 简单工厂用于创建具有公共基类的对象,抽象工厂则可以创建具有不同基类的对象。 一般采用工厂方法来实现更为elegant。

2016-09-14 11:40:01 436 0

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