自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 rep stos 指令

汇编代码: rep stos dword ptr es:[edi] 在网上查了相关资料显示: /************************************************************/ lea     edi,[ebp-0C0h]  mov     e...

2016-10-27 09:01:30

阅读数 1661

评论数 0

转载 设计模式C++实现(16)——状态模式

状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。它有两种使用情况:(1)一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为。(2)一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。本文的例子为第一种情况,以战争为例,假设一场...

2016-10-26 14:16:38

阅读数 145

评论数 0

转载 设计模式C++实现(15)——观察者模式

观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。它还有两个别名,依赖(Dependents),发布-订阅(Publish-Subsrcibe)。可以举个博客订阅的例子,当博主发表新文章的时候,即博主状态发生了改变,那些订阅的读者就...

2016-10-26 14:16:09

阅读数 180

评论数 0

转载 设计模式C++实现(14)——职责链模式

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。其思想很简单,考虑员工要求加薪。公司的管理者一共有三级,总经理、总监、经理,如果一个员工要求加薪,应该向主管的经理申请,如果加薪的数量在经理的...

2016-10-26 14:15:27

阅读数 151

评论数 0

转载 设计模式C++实现(13)——中介者模式

中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式的例子很多,大到联合国安理会,小到房屋中介,都扮演了中间者的角色,协调各方利益。        本文就以租房为例子,如果没有房屋中介,那么房客要...

2016-10-26 14:15:02

阅读数 210

评论数 0

转载 设计模式C++实现(12)——备忘录模式

备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态[DP]。举个简单的例子,我们玩游戏时都会保存进度,所保存的进度以文件的形式存在。这样下次就可以继续玩,而不用从头开始。这里的进度其实就是游戏的内部状态,而这里的文件相当...

2016-10-26 14:14:14

阅读数 189

评论数 0

转载 设计模式C++实现(11)——装饰模式

装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。比如有一个手机,允许你为手机添加特性,比如增加挂件、屏幕贴膜等。一种灵活的设计方式是,将手机嵌入到另一对象中,由这个对象完成特性的添加,我们称这个嵌入的对象为...

2016-10-26 14:13:41

阅读数 182

评论数 0

转载 设计模式C++实现(10)——桥接模式

[DP]书上定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。考虑装操作系统,有多种配置的计算机,同样也有多款操作系统。如何运用桥接模式呢?可以将操作系统和计算机分别抽象出来,让它们各自发展,减少它们的耦合度。当然了,两者之间有标准的接口。这样设计,不论是对于计算机,还是操作系统都是非常...

2016-10-26 14:13:12

阅读数 179

评论数 0

转载 设计模式C++实现(9)——享元模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设...

2016-10-26 14:12:43

阅读数 155

评论数 0

转载 设计模式C++实现(8)——代理模式

为其他对象提供一种代理以控制对这个对象的访问。有四种常用的情况:(1)远程代理,(2)虚代理,(3)保护代理,(4)智能引用。本文主要介绍虚代理和智能引用两种情况。        考虑一个可以在文档中嵌入图形对象的文档编辑器。有些图形对象的创建开销很大。但是打开文档必须很迅速,因此我们在打开文档...

2016-10-26 14:12:01

阅读数 165

评论数 0

转载 设计模式C++实现(7)——外观模式、组合模式

外观模式应该是用的很多的一种模式,特别是当一个系统很复杂时,系统提供给客户的是一个简单的对外接口,而把里面复杂的结构都封装了起来。客户只需使用这些简单接口就能使用这个系统,而不需要关注内部复杂的结构。DP一书的定义:为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得...

2016-10-26 14:10:34

阅读数 197

评论数 0

原创 设计模式C++实现(6)——建造者模式

建造者模式的定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示(DP)。《大话设计模式》举了一个很好的例子——建造小人,一共需建造6个部分,头部、身体、左右手、左右脚。与工厂模式不同,建造者模式是在导向者的控制下一步一步构造产品的。建造小人就是在控制下一步步构造出来的。创...

2016-10-26 14:09:36

阅读数 187

评论数 0

转载 设计模式C++实现(5)——原型模式、模板方法模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设...

2016-10-26 14:08:54

阅读数 186

评论数 0

转载 设计模式C++实现(4)——单例模式

单例的一般实现比较简单,下面是代码和UML图。由于构造函数是私有的,因此无法通过构造函数实例化,唯一的方法就是通过调用静态函数GetInstance。       UML图:       代码: [cpp] view plain copy  prin...

2016-10-26 14:07:22

阅读数 216

评论数 0

转载 设计模式C++实现(3)——适配器模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设...

2016-10-26 14:05:53

阅读数 205

评论数 0

转载 设计模式C++实现(2)——策略模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设...

2016-10-26 13:55:48

阅读数 184

评论数 0

转载 设计模式C++实现(1)——工厂模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设...

2016-10-26 11:23:40

阅读数 178

评论数 0

原创 软件架构——架构师的职责

软件架构——架构师的职责   一、架构师定义 架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成...

2016-10-25 12:47:18

阅读数 381

评论数 0

原创 架构师书单 2nd Edition

为了2007年的目标,列了下面待读或重读的书单。     "其实中国程序员,现在最需要的是一张安静的书桌。",的确,中国架构师大多缺乏系统的基础知识,与其自欺欺人的宣扬"读书无用,重在实践变通,修身立命哲学书更重要",把大好时间用来追逐互联网上的片言只语,不...

2016-10-25 12:45:37

阅读数 388

评论数 0

转载 Delphi XE2 之 FireMonkey 入门(2)

FireMonkey 的控件都是自己绘制的(而不是基于系统组件), 我想它们应该是基于一些基本图形; 就从基本图形开始吧. FMX.Objects 单元给出的类: TShape //基本图形的基类TLineTRectangleTRoundRectTCalloutRectangleTEllip...

2016-10-19 09:14:12

阅读数 751

评论数 0

转载 Delphi XE2 之 FireMonkey 入门(1)

Delphi XE2 的 FireMonkey 是跨平台的, 暂时只准备看看它在 Windows 下(我是 32 位 Win7)的应用情况. 很新的东西, 相信有了它, 以后的界面将会更灵活、漂亮, 也会淘汰掉诸多皮肤、透明、图像等第三方组件, 但不知和 Win8 的 WinRT 有无关...

2016-10-19 09:11:23

阅读数 944

评论数 0

原创 Delphi的Hint入门指导

Delphi中使用提示是如此简单,只需将欲使用Hint的控件作如下设置:   ShowHint := True;   Hint := ‘提示信息’;   不必写一行代码,相当方便。   但有时我们又想自己定制提示的效果,使其看起来更美观更具个人特色,没关系,Delphi完全有办法让你写出自...

2016-10-18 16:56:03

阅读数 810

评论数 0

原创 Delphi 中Perform使用WM_SYSCOMMAND

函数有三个原型,只列举一个: Perform(Msg: Cardinal; WParam: WPARAM; LParam: LPARAM): LRESULT; overload; 其中Msg用WM_SYSCOMMAND WParam用SC_SIZE OR 9 LParam用0 就可以实现...

2016-10-18 15:33:32

阅读数 2490

评论数 0

原创 WM_NCHITTEST消息的了解+代码实例进行演示

这个消息比较实用也很关键,它代表非显示区域命中测试。这个消息优先于所有其他的显示区域和非显示区域鼠标消息。其中lParam参数含有鼠标位置的x和y屏幕坐标,wParam 这里没有用。 Windows应用程序通常把这个消息传送给DefWindowProc,然后Windows用WM_NCHITTES...

2016-10-18 14:29:01

阅读数 1443

评论数 0

原创 Delphi中堆栈区别

1   栈 栈是由操作系统在创建线程的时候,系统自动创建,栈是由顶像下分配的, DELPHI 中默认的栈大小是 1M ,这个可以通过 Project->Options->Linker->Max Stack size 来改变其大小。 栈是线程执行代码的地方,操作系统根据系统调...

2016-10-17 14:49:25

阅读数 1216

评论数 1

原创 020-无符号数条件转移指令JNB JAE JNC(大于等于)

知识点: l  JNB  (不小于) l  JAE   (高于等于) l  JNC   (CF!=1) l  JNB与JGE的区别   l  标志寄存器PSW 标志寄存器PSW(程序状态字寄存器PSW)    标志寄存器PSW是一个16为的寄存器。它反映了CPU运算的状态特征并且...

2016-10-13 21:45:37

阅读数 3203

评论数 0

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