引言 近期在看Notepad++的源代码,学习学习Win32 原生API的开发技巧。 本文以Notepad++ 1.0版本的源代码为例讲解如何封装windows窗口,实现面向对象开发,如何通过窗口的继承实现代码的重用,并且利用C++的动态绑定特性实现多态,另外说明窗口封装过程中如何封装消息处理程序,...
分类:
其他好文 时间:
2014-07-16 18:57:16
阅读次数:
282
package distributed这个包中主要封装了各个服务进程间进行通信的方法。node子节点域root根节点进程中的接口调用返回的都是延迟对象。关于延迟对象的使用,详见twisted中Deferred对象。calss Childchild对象对应的是连接到本服务进程的某个服务进程对象。称为子...
1、distributed说明该模块包含了服务端与客户端通信的一些处理方法,包括发送数据的封装,协议头的封装,tcp通信时进行分包,处理粘包问题。2、结构解析LiberateFactory,协议工厂,所有连接的本质,服务端与客户端通信的这一行为的形象化,它包含三个部分:1)LiberateProto...
分类:
Web程序 时间:
2014-07-16 18:32:22
阅读次数:
175
string 是c++标准库里面其中一个,封装了对字符串的操作把string转换为char* 有3中方法:1.data如:string str="abc";char *p=str.data();2.c_str如:string str="gdfd"; char *p=str.c_str();3. co...
分类:
其他好文 时间:
2014-07-16 18:13:38
阅读次数:
195
说白了,它是一个模板类,它主要是把C++当中的一些内建型别进行了封装,比如说numeric_limits是一个特化后的类,从这个类的成员变量与成员函数中,我们可以了解到int的很多特性:可以表示的最大值,最小值,是否是精确的,是否是有符号等等。如果用其他任意(非内建类型)来特化这个模板类,比如s.....
分类:
其他好文 时间:
2014-07-16 18:09:19
阅读次数:
207
我们通过前两篇文章的学习,已经大致掌握了Ajax的实现方法,同时也可以对比出两种方式的优劣。但是我们还是没有搞清楚真正的ajax的实现原理,以及最原始的,未经过封装的ajax是什么样的,今天我们一起来探索这些之前不了解的地方。 首先在上一篇也提到过,Ajax是异步的Javascript和XML...
分类:
Web程序 时间:
2014-07-16 18:05:59
阅读次数:
229
用javascript闭包的特性,可以模拟实现私有变量、私有方法。 1 var myObject = =(function(){ 2 var privateValue; 3 function privateMethod(){} 4 5 return { 6 ...
分类:
编程语言 时间:
2014-07-16 17:44:30
阅读次数:
237
1.程序框架分析:a)首先将mutex, condition, queue 封装成各自的类,方便对外提供接口函数,这里要注意 condition的封装,一个条件变量和一把锁是一起用的,因此在初始化 condition 对象的时候要用一个 mutex 对象去初始化,在pthread_cond_wait...
分类:
编程语言 时间:
2014-07-16 17:43:12
阅读次数:
203
1.封装Mutex1.1 封装前先总结一下常用的mutex操作有:pthread_mutex_init(&mutex, NULL ); //初始化一个互斥锁pthread_mutex_destroy(&mutex); //销毁一个互斥锁pthread_mutex_lock(&mutex); //上锁...
分类:
编程语言 时间:
2014-07-16 17:41:55
阅读次数:
242
首先是策略模式的定义:策略模式定义了算法族,分别封装了起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的顾客。
这里的算法族就是指一个接口和一组实现改接口的类,然后在其他类中,声明这个接口,构造方法中,实例化实现了接口的类,这样,就能实现较低的耦合程度,例如游戏中的武器切换,定义一个武器接口,然后写好多个武器类,都继承这个接口,为了灵活动态切换武器,只要在角色类中写一个setXX(接口)方法就能在运行时改变武器,改变状态。...
分类:
其他好文 时间:
2014-07-16 17:23:17
阅读次数:
187