- 博客(10)
- 资源 (18)
- 收藏
- 关注
原创 C++ 设计模式(七)Adapter模式
<br />引入::我们在应用程序中已经设计好了接口,与这个第三方提供的接口不一致,为了使得这些接口不兼容的类(不能在一起工作)可以在一起工作了,Adapter模式提供了将一个类(第三方库)的接口转化为客户(购买使用者)希望的接口。<br /> <br />作用:将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 <br /> <br />Adapter有两种模式类别:类模式和对象模式。<br /> <b
2010-08-25 00:28:00 417
原创 VC中利用多线程技术实现线程之间的通信(转)
<br />原文链接:http://blog.csdn.net/kiss0kill/archive/2006/10/13/1333453.aspx<br />当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线 程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在 的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的
2010-08-25 00:09:00 310
原创 Windows多线程多任务设计初步 vczxvc在线(转)
<br />原文链接:http://blog.csdn.net/ponydph/archive/2004/07/23/49426.aspx<br /> <br />[前言:]当前流行的Windows操作系统,它能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的应用软件无一不是多线程多任务处理,单线城的软件
2010-08-23 21:34:00 428
原创 C++ 设计模式(六)brigde模式
<br />作用:将抽象部分与它的实现部分分离,使得它们可以独立地变化.<br /><br />UML结构图:<br /><br /> <br />Bridge的实现方式其实和Builde十分的相近,可以这么说:本质上是一样的,只是封装的东西不一样罢了.两者的实现都有如下的共同点:抽象出来一个基类,这个基类里面定义了共有的一些行为,形成接口函数(对接口编程而不是对实现编程),这个接口函数在Buildier中是BuildePart函数在Bridge中是OperationImpl函数;其次,聚合一个基类的指针,
2010-08-22 18:28:00 626
原创 内存对齐的规则以及作用(转)
<br /> 最近做一个项目需要内存对齐的知识,看了这篇文章觉得很不错。 <br /> 原文链接:http://www.cppblog.com/snailcong/archive/2009/03/16/76705.html <br /> 首先由一个程序引入话题:<br /><br /> <br /> <br />程序的输出结果为:<br /> sizeof(st1) is 12 <br /> sizeof(st2) is 8 <br /><br /> <br /> <br />问题出来了,这
2010-08-22 17:05:00 408
原创 vc访问注册表
<br /> 注册表是Windows内部的一个巨大的树状分层数据库。它记录用户安装在机器上的软件和每个程序的相互关联关系;它包含了计算机的硬件配置信息和各种即插即用的设备的信息。注册表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些windows程序的运行,在整个系统中起着核心作用。<br /> 注册表中包含了几个根键: HKEY_LOCAL_MACHINE,HKEY_CLASSES_ROOT,<br /> HKEY_CURRENT_USER,HKEY_
2010-08-19 23:17:00 826
原创 vc winsock浏览器
<br />void CMainFrame::Connect(){CInternetSession session(_T("My Browser")); CHttpConnection* pServer = NULL; CHttpFile* pFile = NULL; if(m_strAddress.Find("http://")) m_strAddress = "http://" + m_strAddress; m_strContent.Empty(); try {
2010-08-15 22:39:00 596
原创 VC 获取机器的Ip和主机名
<br /> 利用winsock获取主机名和ip地址其实很简单,主要使用的函数就是gethostname和gethostbyname.<br /> 首先,使用gethostname(char *name,int namelen)获取主机名,name为保存主机名的buf,namelen为制定的buf的长度。然后使用gethostbyname(char* addr)获取主机ip,该函数的返回值是hostent指针。hostent结构体如下:<br /> struct hostent {<br /
2010-08-15 22:35:00 3872
原创 win32 文件夹的遍历及兄弟文件的遍历
<br /> 前两天看winsock中ftp中的文件的下载,其中涉及到文件夹的遍历和获取,自己就用win32函数自己写了一个本地的文件夹得遍历的程序顺便增加了浏览兄弟文件及文件夹得功能。为了获取当前的文件,需要使用FindFristFile函数,同时需要使用到Win32_FIND_DATA结构体,具体函数及结构体的信息可以参考msdn.程序集运行截图如下:<br />main.cpp<br />//#include<windows.h>#include<iostream>#include<afx
2010-08-14 01:23:00 1112
原创 C++ 设计模式 (五) Prototype模式
<br /> 作用:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。<br /> Prototype模式并不是简简单单一个clone方法,Prototype模式的意义在于动态抽取当前对象运行时的状态,同时通过提供统一的clone接口方法,使得客户代码可以在不知道对象具体类型时仍然可以实现对象的拷贝,而无需运用type-switch检测对象的类型信息来分别调用创建方法来创建一个新的拷贝。<br /> Prototype模式结构图:<br /> <br />下面给出一个例子,并不涉
2010-08-14 01:11:00 562
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人