自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

屌丝终有逆袭日。

欢迎志同道合者前来指教。

  • 博客(15)
  • 资源 (4)
  • 收藏
  • 关注

原创 设计模式之(Proxy)代理模式

1. 类图 2. 总结     代理模式包装一个对象,并为该对象提供一种访问控制。代理模式可应用于包装远程访问的对象(网络),客户调用代理访问远程对象就像访问本地对象一样,客户甚至都不知道远程对象的存在。代理模式还常用于包装开销比较大的对象,当客户端访问的创建时间比较长的对象时,代理首先构建一个“假”的对象,立即访问,然后再慢慢创建真实的对象。代理模式还可以用于控制对像的访问

2014-11-30 17:23:19 840

原创 设计模式之(State)状态模式

1. 类图 2. 总结 状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了他的类。

2014-11-30 16:31:21 812

原创 设计模式之(Composite)组合模式

1.类图 2. 总结 当有数个对象集合,且对象之间有"整体/部分"关系时(多数为树形结构,某些节点保护子节点,某些节点没有子节点(叶子)),客户端希望用透明的方式使用所有节点时,可以使用Composite(组合)模式。MFC中窗口的组合就使用的是组合模式,一个窗口可以包含很多子窗口,而客户端可以调用统一的方法处理所有窗口,比如说隐藏窗口。

2014-11-26 21:41:43 731

原创 设计模式之(Iterator)迭代器模式

1. 类图 2. 总结 迭代器模式用于客户端程序用统一的方式遍历各种数据集合,而不需要知道数据集合的实现,同时可以自由扩充数据集合。每一种数据集合都需要单独实现一个针对与自身类型的迭代器。

2014-11-26 21:25:25 700

原创 设计模式之(Template Method)模版方法模式

1. 需求: 设计一个水果榨汁机程序,该程序可以完成橘子、苹果等水果的榨汁,而且该水果榨汁机还可以完成水果削皮和去核。 2. 分析: 不同水果的榨汁流程是一样的,都是先把水果准备好,然后搅碎,然后再把汁液漏出。但是不同水果的准备过程不一样,橘子只需要剥皮,而苹果需要先削皮,然后去核。所以我们可以将不同水果的准备过程封隔离开来,将榨汁流程封装在一起。 3. 类图:

2014-11-24 20:18:36 726

原创 设计模式之(Facade)外观模式

1. 需求 要设计一个家庭媒体中心程序,可以连接DVD,电视(TV)和功放(Sounder),连接好之后,可以一键看电影,一键听音乐。(不用媒体中心的话看电影需要依次打开DVD,TV和Sounder)。 2. 分析 我们需要将实现细节封装起来,只暴露出来最简单的接口给客户程序,比如说WatchMovie和ListenMusic。 3. 类图 4. 总结

2014-11-22 10:51:46 658

原创 设计模式之(Adapter)适配器模式

1.需求 有个环境监测系统用于获取环境的各种数据并显示,包括温度、湿度、紫外线等。原来使用的是月亮(Moon)公司的温度传感器,但是这家公司的传感器经常测的数据不正确,于是领导要把传感器换成市场上最好的传感器厂商太阳(Sun)公司的温度传感器。现在需要你去做修改程序以接入Sun公司的温度传感器。(注:Moon公司传感器的获取温度的接口是GetTemperature,Sun公司获取传感器的接

2014-11-20 21:48:02 743

原创 设计模式之(Command)命令行模式

1.需求 为一个开关设计程序,这个开关有N按钮,同时对应N个插槽,要求可以接入任何电器厂商的API,从而可以控制任何电器。目前只有电灯和电视两种电器,要求写一个Demo程序,按钮1可以打开电灯。按钮2可以打开电视并且切换到上一次打开的频道。打开电视换频道需要打开机顶盒并且对机顶盒切换频道。 2. 分析 每个厂商的API不一致,且每个电器的打开流程都不一样,我们需要将这些差异封装

2014-11-20 20:32:32 784

原创 设计模式之(Singleton)单例模式的几种实现

第一种:低效率实现 这种实现方法,优点是实现简单,缺点是在多线程频繁访问下效率比较低,经常出现锁竞争。适应于不需要频繁访问实例的情况下。 class Singleton{public: static Singleton* GetInstance() { AutoLock lock(mutex); if (!

2014-11-19 20:45:59 674

原创 设计模式之(Abstract Factory)抽象工厂

1. 需求: 设计一个电脑组装程序,用于组装品牌电脑。组装所用的配件(主板、硬盘、显示器)全部由品牌提供。比如组装一台联想的电脑,则主板、硬盘和显示全部由联想提供。(目前只有Lenovo和Dell两种品牌) 2. 分析 所有品牌的电脑组装流程都一样,不同的各家品牌有自己专用的配件,所以组装流程应该和获取配件两部分隔离开来。 3. 类图 抽象工厂模式主要用于创

2014-11-18 20:55:31 1177 1

原创 设计模式之(Factory method)工厂方法模式

1.需求 开发一个测试工具专门用于测试手机,测试流程打开分为以下几步:测试开机速度->测试屏幕亮度->测试相机效果。手机有很多种品牌:三星、小米、魅族等等。 2. 分析 不同的手机的测试流程是一样的。我们可以将不变的测试流程和具体的手机隔离起来,当需要检测新的品牌的手机的时候,不需要更改测试流程,只要添加一个手机就行了。 3.类图

2014-11-18 20:23:28 829

原创 设计模式之(Decorator)装饰者模式

1.需求 设计一个计算一块手机价格的程序,不同的存储容量(16GB和32GB)价格不同,不同的颜色(白色和黑色)价格不同,不同的网络制式(联通和电信)价格不同。当用户选定好配置后,程序计算其价格。 2.分析 考虑到未来存储容量可能升级到64GB,网络制式可能增加移动或者其他运营商,颜色可能增加更多的颜色,所以我们需要一种弹性的设计,可以自由添加存储容量,颜色和制式,同时程序

2014-11-17 20:50:21 678

原创 设计模式之(Observer)观察者模式

需求: 有一个报社,用户可以随时订阅报纸,也可以随时取消订阅。当每天的新闻来的时候,报社用邮递员投递给订阅了报纸的用户。订阅者有老人、小孩和青年。   分析: 报社相当于被观察的对象,用户相当于观察者,一旦新闻有更新,报社就通知所有观察者。   类图:     扩展:  该类图使用的是“推”的方式将新闻推送给订阅者。还可以使用一种的“拉

2014-11-16 08:21:02 681

原创 设计模式之(Strategy)策略模式

需求:    我们需要设计一种动作游戏。游戏有个法师和战士两种角色,角色以后还可能会增加,比如说修行者之类的。法师和战士可以装备不同的武器和外套,武器目前有枪和迫击炮两种,外套有隐形外套和普通外套两种。武器和外套以后也可能随时增加。 设计分析:   在系统中我们看到有三种变化的需求,一是角色,二是武器,三是外套。同时角色有一些共同的行为,都可以跑,而且都必须装备武器和外套。我们将采用策略

2014-11-16 08:20:15 757

转载 Proactor模式

第8章 前摄器(Proactor):用于为异步事件多路分离和分派处理器的对象行为模式Irfan Pyarali   Tim Harrison   Douglas C. Schmidt   Thomas D. Jordan摘 要 现代操作系统为开发并发应用提供了多种机制。同步多线程是一种流行的机制,用于开发同时执行多个操作的应用。但是,线程常常有很高的性能开销,并且需要对同步模式和原

2014-11-04 22:06:03 1590

嵌入式WEB监控小车全套代码以及文档

本人做的毕业设计 嵌入式web监控小车全套资料 包括代码 根文件系统 文档 调试笔记 平台采用mini2440

2013-03-01

S3C2440基础程序源码

S3C2440基础程序源码 LED KEY UART ADC TOUCHPAND LCD基础程序

2011-04-01

侯捷----深入浅出MFC原版

一本深入讲解MFC内部原理的书,绝对经典!!

2010-04-28

空空如也

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

TA关注的人

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