自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (60)
  • 收藏
  • 关注

原创 slothjson - 为懒人打造的json对象序列化神器

slothjson - 为懒人打造的json对象序列化神器项目地址:slothjsonslothjson 是基于 rapidjson 之上打造的一款 全自动化 的对象序列化神器。 这玩意儿可以帮助你少写很多代码,少加很多班 ^_^以下是 slothjson 的设计图:slothjson是什么?你是否想要这样一个基础组件,它可以用一行代码完成 任意类型 的 C++ 对象到 json 的序列化/反序列

2017-01-01 23:29:17 1709

原创 huststore - 高性能分布式存储服务

huststore - 高性能分布式存储服务项目地址:https://github.com/Qihoo360/huststore huststore 是一个高性能的分布式存储服务,不但提供了 100 thousand QPS 级别的 kv 存储的功能,还提供了 hash、set、sort set 等一系列数据结构的支持,并且支持 二进制 的 kv 存储,可以替代 Redis 相关的功能。

2016-06-20 09:53:34 1787

原创 无意义的回帖(MFC)

一个无意义的回帖,一场无聊的骂战,一出丑陋的马甲Show

2011-05-04 17:16:00 792

原创 穿越防火墙,写点心得,发点牢骚...

         最近一直都在搞TCP/IP网络通信的程序设计。老师让写个穿越防火墙的程序,刚拿到的时候真的是一点头绪都没有。甭说穿越防火墙了,就是普通的TCP/IP通信程序,大学的时候也写的很少。不过没办法,毕竟是boss,boss就是上帝,要不惜一切代价满足他的各种需求,即使某些需求是abnormal的。所以便充分利用互联网资源研究了一番,然后整了近半个月的代码。        当然,

2009-11-29 23:48:00 2649

原创 重构 - 理解设计模式的捷径(6 附录)

 第5章 附录 – 单例模式思想的引入       本来就可以直接结束了,不过应老师的需求,需要引入至少三种设计模式,所以就把另外一种模式 – 单例模式放在这里介绍一下吧。为什么要放到最后一章才讲呢?因为虽然用到了这个模式,不过毕竟它和前面介绍的演化过程没有什么关系,所以就拿出来单独介绍了。       事实上笔者是某一天在看过这个模式后突然想到:作为单机版的策略冒险游戏,不应该支持开

2009-11-21 02:37:00 705

原创 重构 - 理解设计模式的捷径(5 设计模式的思想)

 第4章 设计模式的思想前面一章通过一个简单的需求的变化过程完整地介绍了软件重构的过程,重构所引入的设计思路,设计模式的引入,以及最终解决方案的实现过程。还是按照那位名人的说法:了解设计模式的演化过程远比了解设计模式本身重要。同样,理解设计模式演化过程中所采用的思想远比学会设计模式本身重要。我们可以再来总结一下这一系列演化采用了哪些面向对象的设计思想。首先,我们在解决区域切换函数庞大的

2009-11-21 02:35:00 919

原创 重构 - 理解设计模式的捷径(4 设计模式的引入 - 工厂模式)

 3.2 三思而后“new” – 工厂方法模式的引入3.2.1 直接new的后果    之前已经提到了工厂方法模式,所以现在就把它引出来吧。回到之前那个问题,客户在玩了一段时间之后,感觉游戏太简单了,敌人老是那么“有规律”地出现嘛,所以要求增加游戏难度,怎么办?    还是有两种设计方案,先看第一种,在具体的状态类的Handle方法中直接把所有的业务逻辑写出来,不分离职责。由于院子

2009-11-21 02:22:00 1111

原创 重构 - 理解设计模式的捷径(3 设计模式的引入 - 状态模式)

第3章 设计模式的引入3.1 区域切换不再繁琐 – 状态模式的引入 3.1.1 计算机的主意还记得需求说明一节的内容吗?对了,有一个功能需求就是游戏人物区域的切换。这个功能看似容易,实际上实现起来需要非相当的功夫才能初步达到软件工程的标准:可复用,可扩展,可维护。凡是策略类游戏,大都有区域切换的需求,不管是系统人物还是玩家控制的人物,这点即使是在最经典的“红白机”游戏中也有许多案例

2009-11-21 01:19:00 1263

原创 重构 - 理解设计模式的捷径(2 背景简介)

 第2章 背景简介2.1 软件需求的介绍由于大学期间是利用这个小游戏来参加软件设计大赛的,所以姑且先叫它“产品”吧。这样好像更加正规一些。软件名为“勇敢者游戏” ,功能需求之类的都是老师规定好了。还是先把需求简要介绍一下,方便之后的分析。以下引自该软件的需求规格说明书:“勇敢者”是一个角色扮演类视频游戏,它面向较成熟的用户。该游戏实现的具体功能如下:1.人物:本游戏共有

2009-11-21 01:14:00 1068

原创 重构 - 理解设计模式的捷径(1 引言)

第1章 引言       著名的EJB领域顶尖的专家Richard Monson-Haefel在其个人网站:www.EJBNow.com中极力推荐的GoF的《设计模式》,原文如下:Most developers claim to experience an epiphany reading this book. If youve never read the Design Pattern

2009-11-21 01:07:00 777

原创 重构 - 理解设计模式的捷径(0 序言)

      在弄上这篇论文之前呢,还是先写个序言吧。      这篇论文是笔者在华科读研期间上设计模式这门课程的时候创作的。内容很简单,就是重构一个小游戏的代码,引入几种设计模式。不过花的时间可不少,算了算足足有十个通宵,十一黄金周就被它占据了,连阅兵仪式LIVE都错过了,遗憾~~。虽然是个比较无聊的游戏(大学期间提出这个游戏需求规格的老师被开发的同学一致鄙视为“根本不懂游戏”),不过重构过后呢,

2009-11-21 00:43:00 1042

远程抄表与监控仿真系统(Version 1.5,采用策略模式、工厂模式、模板方法模式实现)

使用Visual C++ 6.0做的远程抄表与监控的模拟系统。版本更新为1.5,修正了1.0版本Client端对于累计电量的采集的Bug,修正了连续载入配置文件出错的Bug,更新了配置文件合法性判断的逻辑,并对协议的结构进行了优化组织。 文件包括应用程序源代码(Server端与Client端)、安装文件以及自定义协议的说明。程序内置帮助文档。 协议采用了分层的设计方式,包括核心层、模型层和处理层。模型层的设计采用了设计模式中的模板方法模式;处理层的设计采用了设计模式中的策略模式、模板方法模式和工厂模式。 Server端和Client端的实现也采用了分层的设计方式,包含自定义的模型层、视图层和控制层。 说明:程序采用配置文件的方式进行初始化,运行时时请参考帮助文件进行配置。

2010-02-24

无限试用卡巴小工具(Version 1.5 支持多个卡巴版本)

此版本扩展了前版本的功能,可以支持目前主流的卡巴斯基的所有版本的无限试用,包括kav7, kis7, kis2009, kav2010, kis2010。另外,此版本不需要.net framework 2.0的支持即可运行。下载的压缩包包括源代码和安装文件。操作的时候请参考程序的帮助文件。 程序采用了分层的设计方式,对注册表的操作封装在最底层的注册表类中,视图和底层组件的通信通过中间的模型层来完成。程序支持注册表信息的查看和删除。 另外,程序采用了配置文件配置注册表信息,支持动态扩展。可以只要卡巴斯基试用的机制不变,对于以后出现的卡巴斯基的新版本,只要获取其对应的注册表信息,均可以通过修改配置文件实现无限试用。

2010-02-08

TCP文件传输系统 (多线程,支持断点续传,VC)

采用Visual C++ 6.0开发的一个TCP文件传输系统,采用多线程的传输方式,支持断点续传,利用配置文件设置基本的初始化信息。 文件包括源代码和安装包,源代码里包括自定义的文件传输通信协议。 程序采用分层的设计方案,将底层的配置文件和文件操作封装成基本模型组件,并定义了文件传输模型,提供视图和底层模型进行交互的外观;视图层分离为视图和控制两块,视图信息的更新由控制层进行控制。

2010-02-07

源代码行统计工具 2.1 (VC)

程序采用Visual C++6.0开发,用于统计项目文件的源代码行数。压缩包里面包括源代码和安装文件。 此版本是对2.0版本所存在的一些Bug进行了修正,主要的包括: 1. 修正了连续载入配置文件失败的Bug; 2. 修正了遍历文件夹时可能导致的数组越界Bug. 另外,文件过滤的逻辑判断做了转移,从模型层转移到了基本组件CLeafFile类之中,提高了程序运行时的的可靠性。

2010-01-23

源代码行统计工具2.0(VC)

此版本是1.0版本的升级版,采用Visual C++6.0开发,用于统计项目文件的源代码行数。压缩包里面包括源代码和安装文件。 相比1.0版本的程序,此版本功能有了很大的增强: 1. 程序可以识别和统计的文件类型(用扩展名标识)不再写死在程序中,可以通过配置文件动态增加和删除类型; 2. 程序支持文件夹递归遍历,可以将所有叶子节点的路径提取出来统计,因此统计代码行的时候只需要指定项目文件根目录即可,不再需要将待统计的代码拷贝到指定目录下; 3. 程序采用分层的设计方案,模型层和视图层分开,基本的组件可复用性更强。

2010-01-22

无限试用卡巴小程序(VC)

由于之前发布的无限试用卡巴的程序只能在.net framework 2.0环境下运行,因此此次利用Visual C++ 6.0重新开发了一个版本,此版本不需要.net framework 2.0的支持即可运行。下载的压缩包包括源代码和安装文件。 程序采用了分层的设计方式,对注册表的操作封装在最底层的注册表类中,视图和底层组件的通信通过中间的模型层来完成。程序支持注册表信息的查看和删除。 另外,程序采用了配置文件配置注册表信息,支持动态扩展。默认的配置信息仅仅对卡巴斯基7.0.0.125的kav版本有效。操作的时候请参考程序的帮助文件。

2010-01-09

小型文件自动备份程序(采用配置文件定义信息)

使用Visual C++ 6.0做的一个小型文件自动备份程序。文件的路径信息以及定时信息在配置文件中配置。程序采用了分层的设计方式,将备份的相关功能集成到模型层中。视图层与控制层协作完成视图的更新。

2009-12-20

远程抄表与监控模拟系统(采用策略模式、模板方法模式实现)

使用Visual C++ 6.0做的远程抄表与监控的模拟系统。文件包括应用程序源代码(Server端与Client端)、安装文件以及自定义协议的说明。程序内置帮助文档。 协议采用了分层的设计方式,包括核心层、模型层和处理层。模型层的设计采用了设计模式中的模板方法模式;处理层的设计采用了设计模式中的策略模式、模板方法模式和工厂模式。 Server端和Client端的实现也采用了分层的设计方式,包含自定义的模型层、视图层和控制层。 说明:程序采用配置文件的方式进行初始化,运行时时请参考帮助文件进行配置。

2009-12-13

利用MFC做的键盘控制小游戏Braver 2.0

大学期间做的一个键盘控制小游戏,利用了MFC的文档视图结构,固定窗口大小,实现了游戏的基本的控制功能、设置功能、存档读档功能、地图显示功能、历史记录保存功能等。程序利用镂空图消除了人物显示的空白背景区域。地图显示采用了半透明处理。人物区域切换和环境的显示采用了面向对象多态的设计思路。

2009-10-11

一份MFC的经典教程

很经典的MFC教程,讲的非常详细,深入剖析了MFC内部的运作机制。

2009-10-01

历届软考试题以及答案大全

收录了历届软件设计师考试的试题以及答案,希望能对大家有所帮助。

2009-09-19

二叉树相关算法源代码大全

二叉树相关算法源代码大全,包括二叉树的递归创建、先序中序后序遍历、二叉树结点数求解、二叉树叶结点路径求解、二叉树深度等常见的二叉树算法。 附带一个根据二叉树的先序遍历序列和中序遍历序列输出后序遍历序列的算法。

2009-04-22

网络电视 1.0版(VS2005开发)

使用Visual Studio 2005开发的一个小型网络电视,C#语言编写,可以在线收看电视,收听电台,频道列表保存在xml文件中。压缩包中包含完整的源代码和安装文件。

2009-03-10

源代码行统计工具1.0(基于VC开发)

利用Visual C++ 6.0写的一个简单的源代码行的统计程序,可以精确地统计出.c .cpp .h .java .cs .htm .txt .jsp等源代码的行数。包括完整的源代码和安装文件。

2009-03-04

自动关机程序 2.0版(VC制作,XP风格)

本程序是“自动关机程序 1.0版”的升级版本。相比前版本,2.0版舍弃了1.0版中使用的CTime类而使用COleDateTime类,消除了许多BUG,实现计时也更加方便和简捷;此外,2.0版新增加了“定时模式”来实现自动关机,由用户指定具体时间,相比1.0版只能采用延时模式功能大大增强;程序设计方面重新设计了相关的数据结构和函数,模块化更好,更利于程序的扩展和复用,另外还添加了详细的注释,代码可读性更强。和前版本一样,压缩包包括详细的源代码和安装文件。

2009-02-26

学生成绩管理系统2.0版(VC开发,XP界面风格)

之前做的学生成绩管理系统的升级版,修正了前版的一些BUG,并实现了程序界面的美化,XP风格。数据库采用简单的Access,实现了用户账户管理,学生管理,教师管理,成绩查询,授课查询等MIS常用的功能。

2009-02-24

嵌入式实时操作系统 ucos2

从网上搜集的一些关于ucos2的资料集合,希望能对大家有所帮助。

2009-02-24

ZigBee的相关资料集合

一些网上搜集的ZigBee协议的资料集合,希望能对大家有帮助。

2009-02-24

8051单片机C语言开发相关资料

一些关于8051单片机的C开发资料,希望能对大家有帮助。

2009-02-24

自动关机程序1.0版 (VC++6.0 开发)

本程序是“自动关机程序”的改进版,修正了前一版本的许多bug。改进版新增加的功能:将用户操作信息自动保存,便于管理员查看;另外,可以在程序的编辑框中直接查看剩余时间,方便与用户的交互;另增加了帮助信息。 程序设计方面将前一版本中的定时器部分代码重写了一遍,程序计时的精度控制在“秒”单位内。资源里面包括安装文件和源代码,注意不可以将"help"文件删除。

2009-02-24

Windows下线程池的实现(C++)

windows下threadpool的实现 ( C++ ) 1. Task对于参数的变化参考了loki的typelist的做法,可支持0 - 9个参数的函数对象。 2. task.h使用脚本自动生成(taskGen.py) 3. scheduler.h用于解耦thread_pool和task_thread两个模块。 main.cpp演示了tp_lib的使用方法,其中TaskMgr用于统一管理任务对象,并粘合thread_pool

2014-05-16

一个完成端口模型的实现(IOCP)

开发环境: VS2010 开发语言: C++ Winsock I/O模型: IOCP (完成端口模型) 代码示例包括Client和Server, common下包括Functor和Thread两个模块。Functor封装了函数对象,用于各种Callback;Thread封装了线程函数对象,用于将类的成员函数绑定到一个线程来执行。 server路径下IServer定义了服务端的接口,CompletionPort实现了IServer,并利用观察者模式和上层解耦。Server的实现分解为IoData, SocketContext, Disposer, Initializer, Parser, Poster, Creator几个主要的模块,并通过CompletionPort包装为统一的接口。其中对于连接的监听采用了AcceptEx函数来实现异步的Accept,该过程定义在WatchProc所对应的线程函数中。IOCPTest定义了服务端的测试接口,可以通过控制命令来实现对Server的Start, Stop, Suspend, Resume操作。 client下IClient定义了客户端的接口,SocketClient实现了IClient,通过ConnectProc以及SendPacketProc两个过程分别控制连接的建立和数据包的发送,并通过队列来管理连接到Server的socket。ClientTest定义了Client端的测试接口,可以自行定义配置信息。 Server运行的过程中会记录日志文件,方便查看服务器的运行状态。

2013-07-26

一个多线程文件拷贝工具的实现(使用内存映射文件)

一个多线程的文件拷贝工具的实现,文件操作接口使用了内存映射模型的方式实现,可以指定线程数量,可以在拷贝过程中查看整体的进度信息(进度、速度、剩余时间、已用时间),同时可以查看每个子线程对应的进度信息。 应用程序使用Controller来隔离底层模型与视图。模型部分包括定时器、文件I/O以及文件传输等模块。 底层模块对于上层模块的回调通过委托的方式实现(具体参考ITransfer对于Controller的回调,Timer对于TransferImp的回调),委托机制通过函数对象IFunctor的设计来模拟。 bin目录下对应Debug和Release两种方式的可执行文件; setup目录下包含应用程序的安装文件.

2012-06-10

多线程文件快速拷贝工具的实现(使用内存映射文件)

一个多线程的文件快速拷贝工具的实现,文件操作接口使用了内存映射模型的方式实现,可以指定线程数量,可以在拷贝过程中查看整体的进度信息(进度、速度、剩余时间、已用时间),同时可以查看每个子线程对应的进度信息。 应用程序使用Controller来隔离底层模型与视图。模型部分包括定时器、文件I/O以及文件传输等模块。 底层模块对于上层模块的回调通过委托的方式实现(具体参考ITransfer对于Controller的回调,Timer对于TransferImp的回调),委托机制通过函数对象IFunctor的设计来模拟。

2012-06-07

Win32定时器的模拟

使用Win32 API模拟了SetTimer以及KillTimer的行为,不需要将定时器绑定到窗口句柄上面,同时可以为定时器回调函数传递参数信息。

2012-05-15

会发光的二叉树(DLL 2.0 版,含全部源码)

历史版本参考(黑盒复用方式):http://download.csdn.net/detail/yao050421103/4283615 此版本更新了TreeAdapter对DLL接口的管理方式,采用了统一的函数对象映射表存放DLL的函数地址,并将DLL中的函数签名信息隔离到单独的模块,以便维护和更新。 生成二叉树节点信息的核心算法来源于:http://topic.csdn.net/u/20120411/12/792b7b0c-fb57-4e5c-9cab-0a1595679d40.html

2012-05-08

会发光的二叉树(DLL版本,含全部源码)

历史版本参考(白盒复用方式):http://download.csdn.net/detail/yao050421103/4283590 此版本将二叉树模型部分制作成了DLL,可利用Win32 DLL的相关接口进行黑盒复用。文件中包含DLL部分的源码以及Demo部分的源码。 Demo部分的结构使用了适配器来统一接口,并利用Controller降低了模型和视图的耦合。 Demo程序引入了背景色、自动闪烁、自动更新等特性,并包含了GDI和GDI+两套绘图接口。 生成二叉树节点信息的核心算法来源于:http://topic.csdn.net/u/20120411/12/792b7b0c-fb57-4e5c-9cab-0a1595679d40.html

2012-05-07

会发光的二叉树(背景+自动闪烁+自动刷新)

开发工具是VC 6.0。生成二叉树节点信息的核心算法来源于:http://topic.csdn.net/u/20120411/12/792b7b0c-fb57-4e5c-9cab-0a1595679d40.html 在此程序基础上增加了背景色、自动闪烁、自动更新等特性,绘图接口包括GDI以及GDI+,其中GDI+黑色背景的自动闪烁效果较GDI更佳。 应用程序采用和原作完全不同的结构设计方式,利用Controller分离了模型和视图(MVC),并通过接口ITree、IPaint、ITreeModel降低模块间的耦合度,提高了二叉树模型部分的可复用性(白盒复用)。 注意:程序正常编译需要Gdiplus的支持。

2012-05-07

VC 可拉伸的对话框(动态改变子控件大小)

使用Visual C++ 6.0做的可拉伸的对话框,子控件的尺寸和字体大小可随对话框的改变而改变。 程序使用配置文件定义子控件的逻辑布局,字体信息以及对话框的信息。

2011-05-17

VC模拟C#反射中的动态创建功能

使用C++模拟C#中的“反射”的动态创建功能,实现对象的动态加载.在自定义类中使用DECLARE_REFLECTION声明反射;使用IMPLEMENT_REFLECTION实现反射。 程序运行过程可以使用Assembly::CreateInstance动态创建对象(可以取代工厂模式),使用Assembly::First以及Assembly::Next实现对类集合的遍历。 程序在Visual C++ 6.0下测试通过。

2011-04-06

VC 报表打印 报表导出 2.0 (使用Excel实现)

使用Excel相关的COM组件封装的报表打印功能,多线程方式导出报表,采用配置文件设置报表的相关信息,在Visual C++ 6.0下测试通过。 本版本重新构造了报表导出的参数结构信息,使用CExcelWnd封装了报表打印和导出的功能,简化了调用时的入口参数,使用的时候只需要关注 Export(CListCtrl &list, int iFields, BOOL bPrint)方法即可。

2011-03-15

VC 报表导出和打印 (使用Excel相关的COM组件实现)

使用Excel相关的COM组件封装的报表打印功能,多线程方式导出报表,采用配置文件设置报表的相关信息,在Visual C++ 6.0下测试通过。

2011-03-14

C++中委托的实现方法

C++模拟实现的类似于C#的委托。 相对于前一版本,此版本使用STL封装了参数列表的变化,支持包含0到9个参数的函数的委托形式,此外增加了对于全局函数(类静态函数)的委托的支持。 在Visual C++ 6.0下测试通过。

2011-03-09

C++ 使用STL和函数指针 实现的委托

C++模拟实现的类似于C#的委托。 使用STL封装类名称的变化,使用函数指针封装函数名称的变化。 在Visual C++ 6.0下测试通过。 使用的时候只需要关注IFunctor和IDelegate两个接口即可。

2011-02-20

Winsock I/O模型的实现( Select + AsyncSelect + EventSelect + 重叠模型 + IOCP )

利用Visual C++ 6.0实现的一套Winsock I/O模型,包括了所有的Winsock I/O模型:Select模型、AsyncSelect(异步选择模型)、EventSelect(事件选择模型)、Overlapped(重叠模型)、CompletionRoutine(完成例程)、CompletionPort(完成端口模型)。 程序采用了策略模式、模板模式和工厂模式将各个Winsock I/O模型包装到 CSocketModelContext 这个类之中,通过该类的相关接口即可使用服务器的功能。 此外,程序采用分层的方式,利用配置文件动态加载服务器端的参数,完成服务器的基本配置。 程序运行的过程中会记录日志文件,方便查看服务器的运行状态。

2010-10-07

一种可扩展的本地化策略的设计方案(支持多种语言,易扩展)

利用策略模式和模板模式设计的一套本地化策略的方案,应用程序采用Visual C++ 6.0实现。 压缩包包括源代码和安装文件。其中的帮助文件详细介绍了如何通过配置文件来实现动态的本地化设置。 源代码中的“Localize”文件夹是本地化策略组建模型,定义了一组抽象的本地化接口,可扩展,可复用;“LocalizeDemo”是该策略的实现和简单的演示。目前的演示程序定义了三种语言方案:简体中文、繁体中文、英文,可根据需要自行扩展。帮助文件详细介绍了使用方法。

2010-09-12

RSA 加密程序 Version 1.5(支持文件、文本加密解密, 支持多种语言)

采用Visual C++ 6.0开发的一个RSA加解密工具。支持文件加密、文件解密、文本加密、文本解密。 此版本相对于1.0版本加入了本地化的功能,支持英文、简体中文和繁体中文三种语言方案,可以动态在配置文件里面根据需要配置。此外,视图消息的处理方法去掉了1.0版本的庞大的switch-case分支,换为精简的自定义的STL消息映射表机制,更容易扩展。 文件包括源代码和安装包,源代码里包括自定义的RSA加密解密模型,方便复用。 程序采用了经典的MVC的设计方案,将底层的RSA加密解密功能封装为单独的组件,并定义了RSA的操作模型,提供视图和底层模型进行交互的外观;视图层分离为视图和控制器两块,视图信息的更新由控制层进行控制。 程序综合采用了多种设计模式,包括观察者模式、模板模式、工厂模式等。

2010-08-29

RSA 加密工具 Version 1.0(支持文件、文本加密解密)

采用Visual C++ 6.0开发的一个RSA加解密工具。支持文件加密、文件解密、文本加密、文本解密。 文件包括源代码和安装包,源代码里包括自定义的RSA加密解密模型,方便复用。 程序采用分层的设计方案,将底层的RSA加密解密功能封装为单独的组件,并定义了RSA的操作模型,提供视图和底层模型进行交互的外观;视图层分离为视图和控制两块,视图信息的更新由控制层进行控制。 程序综合采用了多种设计模式,包括观察者模式、模板模式、工厂模式、外观模式等。

2010-07-18

TCP文件传输系统(Version 1.6 多线程,断点续传,支持大文件传输)

采用Visual C++ 6.0开发的一个TCP文件传输系统,采用多线程的传输方式,支持断点续传,利用配置文件设置基本的初始化信息。 文件包括源代码和安装包,源代码里包括自定义的文件传输通信协议。 程序采用分层的设计方案,将底层的配置文件和文件操作封装成基本模型组件,并定义了文件传输模型,提供视图和底层模型进行交互的外观;视图层分离为视图和控制两块,视图信息的更新由控制层进行控制。 新版本利用内存文件映射的技术重写了文件模型,使得程序支持大文件的传输(最大16EB),提高了文件操作效率;此外,改善了视图的显示方式,更加方便了传输进度信息的查看。

2010-03-27

TCP文件传输系统(Version 1.5,支持大文件传输,支持断点续传)

针对1.0版本只能传输不超过2G文件的限制,升级后的版本重写了文件模型,支持超过2G的大文件的传输(64位,2^64范围);另外,在视图上增加了剩余传输时间的显示,更加方便查看传输进度。 程序采用多线程的传输方式,支持断点续传,利用配置文件设置基本的初始化信息。 文件包括源代码和安装包,源代码里包括自定义的文件传输通信协议。

2010-03-05

空空如也

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

TA关注的人

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