命令(Command)模式:又称Action模式或者Transaction模式。它属于对象的行为模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和撤销功能。GoF命令模式结构图如下:命令模式是有以下角色:抽象命令(Command)角色:声明执行操作的接口。具体命令(ConcreteCommand)角色:将一个接收者对象绑定到一个动作上。调用接收者相应的操作,以实现
系统 2019-08-29 22:57:34 2627
下面是十个最牛的也是最流行的Javascript框架。它们完全可以担任目前世界上几乎所有一些和Ajax技术相关的和图形界面相关的一切功能。jQueryhttp://jquery.com/如果今天你还不知道jQuery的话,那么作为一个程序员你可能真的是从火星来的了。这恐怕是Ajax中应用最广的框架。包括了许多很不错的UI组件,做出网页的效果也是令人称道的。不过,他最牛的是它的文件大小,只有区区18K,实在是居家旅行,网站开发之首选。下面是一个日历控件,很不
系统 2019-08-29 22:49:01 2627
最近写数据库,我就自己写了个带密码的个人通讯录,感觉sqlite特别好用,和mysql,sqlserver都一样,真是简单的关系型数据库,注意:开启数据库,cursor后一定要记得关闭close()掉,避免浪费资源。另外adapter的notifyDataSetChanged()这个方法也特别好用,就是数据库更新的时候,调用一下,baseAdapter中的getview就会重新加载一遍,这样界面就会更新数据,而不用onCreate()方法来更新,另外可以把
系统 2019-08-29 22:46:07 2627
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。方法:在mapper中指定keyProperty属性,示例如下:insertintouser(userName,password,comment)v
系统 2019-08-29 22:09:45 2627
关于继承可以朴素的理解为,通过继承,子类可以复用父类的方法,以达到代码重用。JavaScript可用多种方式模拟继承,本文先举例介绍各种方法,后对比分析优缺点。在JavaScript中,构造函数也和普通的函数一样,可以被赋值和调用,对象冒充通过此原理来模拟继承。FunctionClassA(name){this.name=name;this.sayHello=function(){alert("Hello,"+this.name);}}FunctionCl
系统 2019-08-29 22:05:16 2627
IntroductionYoucanusetheMicrosoft®WebPlatformInstaller(WebPI)toeasilyinstallInternetInformationServices(IIS),andapplicationsthatrunonIIS.TolearnmoreabouttheWebPI,seeLearnaboutandinstalltheWebPI.IfyouchoosetoinstallIIS7.0orIIS7.5(c
系统 2019-08-29 22:04:46 2627
FROM:http://www.cnblogs.com/alipayhutu/archive/2012/08/11/2634073.htmlCopyOnWriteArrayList理解与理解CopyOnWriteArrayList,因何而存在?ArrayList的一个线程安全的变体,其所有可变操作(add、set等)都是通过对底层数组进行一次新的复制来实现的,代价昂贵。CopyOnWriteArrayList,是因”并发”而生。CopyOnWriteArr
系统 2019-08-12 09:30:26 2627
文件的上传和下载在J2EE编程已经是一个非常古老的话题了,也许您马上就能掰着指头数出好几个著名的大件:如SmartUpload、Apache的FileUpload。但如果您的项目是构建在Struts+Spring+Hibernate(以下称SSH)框架上的,这些大件就显得笨重而沧桑了,SSH提供了一个简捷方便的文件上传下载的方案,我们只需要通过一些配置并辅以少量的代码就可以完好解决这个问题了。本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SS
系统 2019-08-12 09:30:11 2627
UI自动化工具千变万化、架构千变万化,但都逃离不开的关键一步就是元素定位。下面以Selenium为例介绍常见的几个元素定位方法ID-元素id属性WebElementEl=driver.findElement(by.id(“id”))name-元素name属性WebElementEl=driver.findElement(by.name(“name”))className-元素class属性WebElementEl=driver.findElement(by
系统 2019-08-12 09:27:31 2627
PortUnificationOverview(端口统一)针对在一个端口上开放多种协议的服务,类似下图:通过PortunificationFilter去判断三种协议,然后针对不同协议传递到下一个Filter执行后续工作。其中Finder的Grizzly官方给了一个简单用例,针对协议包头是"add"的Finder/***{@linkProtocolFinder},responsibletodetermineifincomingbytebuffer*repre
系统 2019-08-12 09:27:24 2627