设计模式
文章平均质量分 77
zhu2695
Coding life....
展开
-
设计模式 --> 命令模式(C++实现)
/* 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 命令模式(Command)把请求封装成一个对象,使请求能够存储更多的信息拥有更多的能力。 命令模式把请求一个操作的对象与知道怎么操行一个操作的对象分开. */ #include #include using namespace std; //原创 2013-03-04 23:19:05 · 446 阅读 · 0 评论 -
设计模式C++实现——工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创转载 2014-06-24 00:07:59 · 553 阅读 · 0 评论 -
设计模式C++实现——职责链模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍装饰模式的实现。 职责链模式:使转载 2014-06-24 00:33:31 · 625 阅读 · 0 评论 -
设计模式_迭代器模式(C++)
参考一: 设计模式 迭代器模式 C++实现 迭代器模式(Iterator)把按某种顺序访问一个集合中的元素的方式封装在一个对象中,从而无须知道集合的内部表示就可以访问集合。迭代器模式可能是面向对象软件开发中应用的最广泛的一个设计模式。 GOOD:提供一种方法顺序访问一个聚敛对象的各个元素,而又不暴露该对象的内部表示。为遍历不同的聚集结构提供如开始,下一个,是否结束,当前一项等统一接口转载 2013-05-25 23:21:49 · 894 阅读 · 0 评论 -
C++ 线程安全的 单实例 模式
一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。 需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety. 使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性能瓶颈。 1、静态成员实例的懒汉模式: class Singleton转载 2013-05-22 17:24:08 · 788 阅读 · 0 评论 -
最常用的10种设计模式
(创建型) 1. 单实例 意图: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性: 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 2. 工厂方法 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使原创 2013-02-28 22:55:59 · 947 阅读 · 0 评论 -
设计模式_桥接模式(C++)
定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 桥接模式(Bridge)分离了类的抽象和实现,使它们可以彼此独立地变化而互不影响。桥接模式与适配器模式有些相似,在两个对象之间加入了一个中间层次,提供间接联系增加了系统的灵活性。但两者的意图不同,适配器模式关心的是接口不匹配的问题,不关心接口的实现,只要求对象能够协同工作。桥接模式的侧重点是接口和实现,通常接口是稳定的,桥接解决实现的转载 2013-04-21 10:16:06 · 548 阅读 · 0 评论 -
设计模式6大原则
单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责转载 2013-02-28 23:03:15 · 401 阅读 · 0 评论 -
设计模式_模板方法模式(C++)
/* 模板方法模式(Template Method)在父类中定义操作的主要步骤,但并不实现,而是留给子类实现。 注意这个模板与C++中泛型编程用的template没有任何联系,不要引起误解。 它常见的用法是“钩子操作”,父类定义了所有的公开方法,在公开方法中调用保护的钩子方法,子类实现不同的钩子方法来扩展父类的行为。 模板方法模式是一个非常基本的设计模式,也可能是最容易使用的一原创 2013-03-09 16:02:11 · 603 阅读 · 0 评论 -
设计模式C++实现——观察者模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍观察者模式的实现。 观察者模式转载 2014-06-24 00:50:44 · 584 阅读 · 0 评论