设计模式
风空
无间路上,做最真实的自己
展开
-
设计模式--单例模式与迭代器模式的思考
单例模式:1.定义一个私有的构造函数。2.定义一个私有的静态实例。3.定义一个共有的静态函数,用于返回这个类的唯一实例。代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{原创 2016-05-01 19:47:02 · 481 阅读 · 0 评论 -
备忘录模式
备忘录模式:主要作用是针对需要记录和保存历史的类1.一个需要保存记录的类,2.一个保存记录的容器。容器类保存需要记录类的属性3.一个容器的管理者。容器的管理者中有容器类。这个需要保存记录的类里面有保存和回复类,调用容器的管理者。组合模式:组合模式主要用于大小不同但是功能一样,但是不可以聚合的类中,例如美国和英国的政府部门职责有基本一样,但是美国和英国又是2个不同的国家,原创 2016-04-30 22:33:23 · 338 阅读 · 0 评论 -
工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创建型模转载 2016-04-15 19:45:14 · 192 阅读 · 0 评论 -
命令模式
命令模式就是:发送命令者和命令收集者,命令收集者把命令传递给命令执行者。那么:1.首先有一个类,抽象命令类,他是命令的基类2.各种具体的命令类来继承基类,命令类函数参数是命令执行者。3.命令收集者类,这个类有一个命令基类的数组,此外还有2个命令方法:通知命令执行者执行命令,取消命令。4.命令执行者类,也称命令的接受者,去执行命令。现在看各类的关系:1.命令收集者原创 2016-05-02 22:29:50 · 232 阅读 · 0 评论 -
C++11多线程编程 call_once
call_once 可以使他所修饰的函数在多线程环境中只执行一次,call_once((once_falg)x,y),他接受一个once_falg变量参数,另一个参数可以使函数,lambda表达式等。上代码:#include #include#includeusing namespace std;once_flag t;void fun1(){ cout<<"i an原创 2016-05-04 16:48:18 · 376 阅读 · 0 评论 -
中介者模式
中介者模式:如果设计的类之间不彼此直接通信,就可以用中介者模式,可以降低类与类之间的耦合。1.首先有n个基础功能类,这些类依靠中介者彼此通信,所以,这些基础功能类与中介者是依赖关系,具体类后者基础功能类的基类有中介者对象。2.首先有一个抽象的中介者,作为基类。3.有一个具体的抽象者,由于基础功能类的通信依靠中介者,所以中介者必须认识所有的基础功能类,所以中介者与基础功能类是聚合关系。原创 2016-05-04 17:00:12 · 292 阅读 · 0 评论