搜索到与相关的文章
编程技术

微内核流程引擎(IVR导航)的设计与实现(一)

此次开发在***会议项目之后进行的优化。主要内容:1、对在这次开发中发现的问题进行解决。2、对流程引擎进行重构。3、扩展部分流程引擎的功能。4、进行结构调整。5、单元测试。测试驱动。调整总体结构目前结构主要的问题在于,流程内核、应用服务器的服务,业务逻辑都一个动态库中,代码杂糅在一起,不利于后面的维护,重用,以及开发。现在要做的事情是把它分成三层:1、FlowEngineCore流程内核层主要的功能是建立一个流程模型,包括:1)解析脚本,生成流程。2)实现

系统 2019-08-29 22:53:25 2049

编程技术

Struts

框架(Framework)是可重用的,半完成的应用程序,可以用来产生专门的定制程序。您只要细心地研究真实的应用程序,就会发现程序大致上由两类性质不同的组件组成,一类与程序要处理的具体事务密切相关,我们不妨把它们叫做业务组件;另一类是应用服务。比如说:一个税务征管系统和一个图书管理系统会在处理它们的业务方面存在很大的差异,这些直接处理业务的组件由于业务性质的不同不大可能在不同的系统中重用,而另一些组件如决定程序流向的控制、输入的校验、错误处理及标签库等这些只

系统 2019-08-29 22:18:52 2049

编程技术

大话重构连载15:采用Mock技术完成测试

第五次重构我们引入了数据库的设计,用户信息要从数据库中读取,问候语库存储在数据库中,并支持添加与更新。数据库的引入使自动化测试变得困难了,因为数据状态总是变化着的,而这种变化使得测试过程不能复现,这是我们不愿看到的。因此,我们在设计时将业务与数据库访问分离,形成了UserDao与GreetingRuleDao。此时,我们的设计应当遵从“依赖反转”原则,即将UserDao与GreetingRuleDao设计成接口,并编写它们的实现UserDaoImpl与Gr

系统 2019-08-29 21:59:03 2049

编程技术

大话重构连载17:抽取方法的实践

说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量放在一起,但要保证程序执行的结果不会发生改变。比较典型的,将变量的定义与使用变量的代码放在一起。这个步骤比较实用,因为许多的遗留系统,其代码都有一个坏毛病,就是在程序开始时定义一大堆变量,但要弄清这些变量都用来做什么,却十分困难。边读边调整,将变量的定义逐渐迁

系统 2019-08-29 21:59:02 2049

编程技术

IP地址规划的重要性

在搭建一个局域网的时候,IP地址规划的意义重大。如果你的网络永远不会被扩展和定制,那么你可以随意的规划IP地址,只要能保证路由是通的就可以了。然而如果将来有一天你需要对已有的网络进行拓展,那么就需要精心安排地址了。原则就是:尽量使逻辑上同类的地址规划成连续的地址,并且起始地址最好是2的次幂。这样做的原因在于可以方便的划分子网。考虑下面的拓扑:有一天,需要在该局域网增加一台加密网关,所有到达外部网络2的流量都要被加密,而且需要把加密流量路由指向加密网关(流量

系统 2019-08-12 09:30:33 2049

编程技术

Filter及FilterChain的使用详解

一、Filter的介绍及使用什么是过滤器?与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。过滤器适用于那些地方?l为一个web应用程序的新功能建立模型(可被添加到web应用程序中或者从we

系统 2019-08-12 09:30:33 2049

编程技术

XSS 前端防火墙 —— 天衣无缝的防护

上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面。到目前为止,我们防护的深度已经差不多,但广度还有所欠缺。例如,我们的属性钩子只考虑了setAttribute,却忽视还有类似的setAttributeNode。尽管从来不用这方法,但并不意味人家不能使用。例如,创建元素通常都是createElement,事实上createElementNS同样也可以。甚至还可以利用现成的元素cloneNode,也能达到目的。因此,这些都

系统 2019-08-12 09:30:32 2049

编程技术

Glassfish与服务器推送技术

“服务器推送技术”(ServerPushing)是最近Web技术中最热门的一个流行术语,它的别名叫“Comet”(彗星)。它是继“Ajax”之后又一个倍受追捧的Web技术。“服务器推送技术”最近的流行跟“Ajax”有着密切的关系。随着Web技术的流行,越来越多的应用从原有的C/S的模式下转变为B/S的模式,享受着Web技术所带来的各种优势(例如,跨平台,免客户端维护,跨越防火墙,扩展性好等等)。但是基于浏览器的应用,也有它不足的地方。最主要的地方在于界面的

系统 2019-08-12 09:30:22 2049

编程技术

Flex学习资料大全

原文地址:http://mambotango.bloggerspaces.com/2007/07/flex-2-flex.html1个半月前,我参加了BEA公司在西安人民大厦举行的Dev2DevTeachDays。会上有幸聆听了Adobe公司马健(音)先生关于Flex2及相关技术的演讲。他通过介绍YahooMap强大的功能,使我第一次了解到FLex。演讲虽然只有短短的半个小时,但是我却深深的被Flex强大的表现力所吸引。随后的日子里我对比了当前诸多RIA,

系统 2019-08-12 09:30:03 2049

编程技术

UNIX环境高级编程 守护进程

相关函数列表//syslog函数#includevoidopenlog(constchar*ident,intoption,intfacility);voidsyslog(intpriority,constchar*format,...);voidcloselog(void);intsetlogmask(intmaskpri);//除syslog,很多平台还提供它的一种变体来处理可变参数列表#include#incl

系统 2019-08-12 09:29:37 2049