当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 设计模式在制作升级文件包中的应用 style="
 

 

 ·在delphi中通过函数获取guid     »显示摘要«
    摘要:keyword: activex, tguid, cocreateguid, guidtostring//---test program by conan 2005/04/14---//unit unit1;interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs......
    摘要:dfw里有朋友问:有多个jpg文件,如:1.jpg2.jpg3.jpg......怎样将这些文件以追加形式合并成一个新的jpg文件?也就是说1.jpg作为第一页,2.jpg作为第二页,如此类推.想了一下,思路就是把每个jpeg文件解码成位图以后进行拼接再编码为jpeguses ..., jpeg;......procedure tform1.button1click(sender: tobject......


设计模式在制作升级文件包中的应用
设计模式在制作升级文件包中的应用

 

  【程序编程相关:TheServerSide.net Te

【推荐阅读:Delphi+MapX5中使用自定义字体

【扩展信息:创建Photoshop式浮动窗口应用程序

                                      钱波 钱晓贤 高春玲

 

 

 

 

引言

软件系统的复杂性越来越大,而现有的类库也已经不能满足工程的需要,软件开发小组得到的建议是除了软件本身的特性突出,快速投放市场,成本低以外,还有性能与安全,并且软件能够做到改动容易,能及时交付,升级快速.软件构架的确会成为首要目标,但是架构可能很难说清楚是怎么回事,因为事实并不会如设计师所愿,设计展开以后,需求与构架解决方案将会越来越具体,设计师该怎样做呢?

 

 

设计模式的提出

模式在构造复杂系统得重要性已经在其它领域被认可,软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径.灵活使用各种设计模式看来便成了一种设计上的技巧,已有的设计模式确实提供了设计的基础,但是设计模式并不是限于成规,关键在于怎样灵活的运用.

 实例升级文件的制作

我们的文件是所需信息与几个文件的合并,后来在需要的基础上进行压缩,当然,升级文件下载后正好使个相反的过程,解压缩后分拆文件,然后把它们放置到合适的目录下去,实际上这个过程也可以看作是备份文件的产生与备份恢复.使用继承是添加功能的有效途径,我们可以在以前的类上派生一个类添加解压缩的功能,在完成以后就可以使用新增的功能了,这的确是一个方法,但是还有更为灵活的方法,更容易理解与分拆功能.我们可以利用模式装饰者,模式装饰者是一种对象结构型模式,就增加功能来说,使用继承是添加功能的一种有效途径,但是decorator 模式比生成子类更为灵活.

 

 

现在首先分拆功能,可能是这样的:

  

图一 功能拆分类图

从图一上看,tfileinfo 类实际上是我们的接口,是位于顶层的类,现在主要需要的是三个继承者,1合并文件类tfileinforeadin,2分拆文件的类,tfileinforeadout,3解压缩类tzipfile,在开始的时候并没有构造tfileinfo这样一个顶层类,.因为看起来并不需要他,我们可以用单独的tfileinforeadin 对象来构建合并的程序,完成后交给tzipfile的去压缩,在反过来的过程中用tzipfile对象来解压文件,用tfileinforeadout来分解文件到目录中去.功能已经比较单一了.

如图一所示,现在试着用一个抽象的基类来同时操纵三个可能毫不相关的类,它们的接口函数并不一定统一,强行定义统一的接口可能不太好理解,但是在顶层类还是这样定义了:

     procedure opbaselist(var ls:tstrings);virtual;abstract; //操纵信息字段


...   下一页
 ·qq窗体自动隐藏效果探究     »显示摘要«
    摘要:腾讯qq是当前流行的网络聊天工具之一,由于它在应用设计上有很多独特之处,所以也吸引了很多程序员对之进行研究和模仿。在这里,我将利用delphi对qq的窗体自动隐藏效果提出自己的实现方法。一、问题的提出熟悉qq使用的朋友都知道,当qq窗体区域超出屏幕四边时,窗体就会自动“消失”,只留下窗体一边的小部分显露在桌面上。当用鼠标移动到显露部分之上,窗体就会在隐藏位置重新完整显示;但......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE