前面讨论了用Document类表示MVC结构中的文档,并抽象出接口Glyph用于Composite模式,派生两类Glyph:基本数据结构Char,Picture和Paragraph;显示模型结构Row和Page,UML图如下:对于任意一个Glyph对象,它可以知道:自身的子结点-child(),size();添加,删除子结点-add(),remove();自身占据的大小-width(),height();如何画出自身-draw()。如果某一个具体的子类不支
系统 2019-08-29 23:12:34 2227
组合模式(CompositePattern)有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。组合模式让你可以优化处理递归或分级数据结构。有许多关于分级数据结构的例子,使得组合模式非常有用武之地。关于分级数据结构的一个普遍性的例子是你每次使用电脑时所遇到的:文件系统。文件系统由目录和文件组成。每个目录都可以装内容。目录的内容可以是文件
系统 2019-08-29 23:06:17 2227
征服无限--数学的力量"所有的动物生而平等,但是有些比别的更平等[1]。"在数学里也一样存在这个现象。如果只是要合乎逻辑的话几何可以有很多种,代数也一样。就算动用美学的标准,也很难说我们的数学就比它的这些兄弟们更好一些。那为什么我们今天见到的数学是这样的而不是那样的?我想,原因在于我们总是用现实世界的眼睛去观察和发现数学。欧氏几何之所以有这样的公理而不是别的,是因为它最符合当时人类对自然世界的观察。这样一来它就比别的几何在数学里具有更高的地位,拥有更多的关
系统 2019-08-29 22:44:39 2227
1.缘起:有些系统需要每隔一段时间就执行一下某个动作,比如,一个监控系统每隔10秒钟就要检测一下被监控对象的状态是否正常,那这时我们就可以用到循环引擎了。有人说可以使用.NET框架自带定时器如System.Threading.Timer,嗯,没错。但是若这个类使用不当可能会引发后台池线程耗尽的后果。因为Timer的定时事件触发实在后台线程池中的某个线程中处理的。也就是说Timer的每次定时事件触发都会用到一个线程,如果定时的时间间隔小于事件处理的时间,则后
系统 2019-08-29 22:15:04 2227
先进行通用配置,【第十章】集成其它Web框架之10.1概述10.2集成Struts1.x10.2.1概述Struts1.x是最早实现MVC(模型-视图-控制器)模式的Web框架之一,其使用非常广泛,虽然目前已经有Struts2.x等其他Web框架,但仍有很多公司使用Struts1.x框架。集成Struts1.x也非常简单,除了通用配置外,有两种方式可以将Struts1.x集成到Spring中:最简单集成:使用Spring提供的WebApplicationC
系统 2019-08-29 22:01:12 2227
TemplateMethod模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要。定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。一,结构:二,示例代码:/***算法骨架*@authorSalmon**/publicabstractclassDataAccessObject{publicabstractvoidconnect();p
系统 2019-08-12 09:30:14 2227
JVM内存机制资料笔记参考JDK5.0垃圾收集优化之--Don'tPausehttp://blog.csdn.net/calvinxiu/archive/2007/05/18/1614473.aspxJVM内存模型以及垃圾回收http://hi.baidu.com/xuwanbest/blog/item/0587d82f2c44a73d1e30892e.html对jvm内存的一些理解http://www.blogjava.net/midstr/archiv
系统 2019-08-12 09:30:04 2227
源码版本:2.4.6打开文件文件操作:响应函数:UT_ErrorAP_Frame::loadDocument(constchar*szFilename,intieft,boolcreateNew)加载操作:loadDocument::errorCode=_loadDocument(szFilename,static_cast(ieft),createNew);打开word文件代码段UT_ErrorPD_Document::readF
系统 2019-08-12 09:27:14 2227
RHEL5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡一、简介LVS是LinuxVirtualServer的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);十种调度算法(rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)。Keepalived在这里
系统 2019-08-12 09:27:00 2227
链接:https://github.com/hanlingsha/Test.gitr推送项目的github的大致步骤如下:1、在本地创建一个项目仓库,可以放些基本的项目文件2、cd至该目录下3、gitinit执行git初始化,完成对该项目的版本监控4、gitadd将该库中的内容加到暂存区5、gitcommit完成项目快照(与svn的提交有所区别)6、gitremoteadd随便一个单词git@github.com:HuXiangtao/项目名称.git(完
系统 2019-08-12 09:26:42 2227