设计模式
ithewei
这个作者很懒,什么都没留下…
展开
-
策略模式Strategy
策略模式是行为模式的一种,和模板模式解决的问题一样,实现了通用逻辑和算法细节的解耦合,不同的是模板模式采用继承实现,基类中通用逻辑需要确定下来不可随意更改,策略模式采用组合实现,比较灵活,能在通用逻辑上抽象出接口,方便通用逻辑的变化。下面给出UML类图和C++代码示例:原创 2016-09-26 19:24:09 · 774 阅读 · 0 评论 -
模板模式Template
模板模式是行为模式的一种,基类中封装了通用的逻辑流程,子类中实现具体的细节,用于通用逻辑已经确定的场合,缺点就是基类无法独立变化,一旦修改很容易引起逻辑错误。下面给出UML类图和C++代码示例:原创 2016-09-26 19:22:35 · 638 阅读 · 0 评论 -
门面模式Facade
门面模式是结构型模式的一种,它将多个分散的类所做的工作集中到一个类中完成,在高层给出来统一的接口。下面给出UML类图和C++示例代码:#ifndef __FACADE_H__#define __FACADE_H__class CSubSystem1{public: CSubSystem1() {} ~CSubSystem1() {}publi原创 2016-09-18 19:35:38 · 618 阅读 · 0 评论 -
组合模式Composite
组合模式是结构型模式的一种,通过添加删除组件,遍历去执行操作。#ifndef __COMPOSITE_H__#define __COMPOSITE_H__#include using namespace std;class IElement{protected: IElement() {}public: virtual ~IElement() {}原创 2016-09-14 16:27:39 · 592 阅读 · 0 评论 -
装饰模式Decorator
装饰模式是结构型模式的一种,当我们需要对原有类的接口增加点新的东西(或者说增加点装饰)时,我们可以采用装饰模式。使用public接口继承,保存指针的方式完成实现继承。#ifndef __DECORATOR_H__#define __DECORATOR_H__class IOrigin{protected: IOrigin() {} virtual ~IOrigin原创 2016-09-14 14:48:10 · 560 阅读 · 0 评论 -
适配器模式Adapter
适配器模式是结构性模式的一种,目的是将第三方提供的不兼容接口适配成我们的目标接口。#ifndef __ADAPTER_H__#define __ADAPTER_H__ class CThirdParty{public: CThirdParty() {} ~CThirdParty() {}public: void Realize() {printf("CT原创 2016-09-14 14:04:25 · 557 阅读 · 0 评论 -
桥梁模式Bridge
桥梁模式是结构型模式的一种,之所以叫做桥梁模式是因为它的UML图画出来像一个桥梁,抽象和实现分居两头,都能独立的变化。当抽象接口变化时,我们只需要重新添加一个抽象的子类;当实现变化时,我们只需要添加一个实现的子类。#ifndef __BRIDGE_H__#define __BRIDGE_H__class IImpl{protected: IImpl() {} vi原创 2016-09-14 15:38:42 · 1212 阅读 · 0 评论 -
工厂模式Factory
工厂模式是创建型模式的一种,又可以根据需求的复杂度分为简单工厂和抽象工厂。简单工厂用于创建具有公共基类的对象,抽象工厂则可以创建具有不同基类的对象。一般采用工厂方法来实现更为elegant。原创 2016-09-14 11:40:01 · 729 阅读 · 0 评论 -
单例模式Singleton
单例模式属于创建型模式的一种,在我们进行软件开发过程中,有很多类是全局唯一只创建一次的,例如app框架类、全局管理类、配置文件、日志、数据库等,这时采用单例模式能使我们的代码变得elegant。 下面给出UML类图和C++的示例代码:// singleton.h#ifndef __SINGLETON_H__#define __SINGLETON_H__class CSingleton{pr原创 2017-12-10 17:15:57 · 2050 阅读 · 0 评论