- 军军小站|张军博客
搜索到与相关的文章
编程技术

设计模式介绍之六:工厂模式(factory)的巧妙

本文展示了实际项目中使用到的一个工厂模式实现,在向系统中添加新类型时,只需要在新类型的实现文件这一处做改动,将新增类型对应用程序代码的干扰降到了最低。这个工厂实现的基本思想是:继承自同一个接口的新类型,通过一个函数来创建其对象,利用C++中类的构造函数会被自动调用这一特性,在新类型的实现文件中定义一个静态的(辅助)类对象,在该辅助类的构造函数中,向工厂单例注册新类型的创建函数。先看下代码,然后我们一一来解释。下面是命令接口CommandObject的头文件

系统 2019-08-29 22:35:19 1815

编程技术

一个人做项目的感受-Commons FileUpload文件上传

到现在才真正体会到一个人做项目的感受,我说的不是一个人做着玩的。在一个公司里给他们做项目管理软件(他们的项目不是软件项目哦)。我一个人充当了好多人的角色,我也不认为到现在为止我的水平有多高,但是我现在确实是充当软件架构师的角色。项目到现在做了有两个多月了,在这个过程中出现了不少系统框架上的问题还有数据库设计的不完善造成的一系列问题。从一开始就没有做完整的需求分析,因为那个时候他们也不是很清楚要做一个什么样的东西出来,需求都很模糊。只是一个大概的构想,我但是

系统 2019-08-29 22:32:36 1815

编程技术

Eclipse开发中的CVS使用

6.在Eclipse中使用CVS版本控制在团队开发中是必不可少的。CVS是优秀的开源版本控制软件,Eclipse本身就内置了对CVS的支持,只需简单配置,即可使用CVS。首先我们要正确安装并配置好CVS服务器,通常LinuxServer都自带CVS服务,不过命令行操作比较繁琐。Windows下也有简单易用的CVS服务器,这里我们推荐CVSNT,可以下载CVSNT2.0.51a,安装并启动CVSNT:然后切换到Repositories面板,添加一个Repos

系统 2019-08-29 22:31:31 1815

编程技术

flash绘制矢量人物教程

如今使用Flash来制作MTV已经不是什么新鲜事了。不过,还是有必要提醒一句,其实Flash制作出的MTV并不是真正意义上的MTV。因为MTV是音乐电视的缩写,所以,Flash制作出的音乐视频,应该称之为MV,也就是MusicVideo的缩写。有很多朋友喜欢在FreeHand中绘制图像,在SoundForge中制作音乐,然后在FlashMX中仅仅安排时间轴和组件,这其实是很好的一种制作MV的方式,不过,鉴于Flash软件本身具备着处理矢量图和编辑音乐的功能

系统 2019-08-29 22:23:48 1815

编程技术

Spring MVC集成Struts Tiles使用方法

首先,我们定义一个总体的tiles视图/tiles/mainTemplate.jsp首先使用:打印tiles配置文件中定义的字符串属性title然后是分别加载header,content,footer三个jsp页面,共同组成mainTemplate.jsp<%...@tagliburi="http://jakarta.apache.org/struts/tags-tiles"prefix="t

系统 2019-08-29 22:21:00 1815

编程技术

NetBeans 时事通讯(刊号 # 81 - Nov 20, 2009)

刊号#81-Nov20,2009文章Latiz:基于NetBeans平台的系统建模环境一个关于Latiz的采访。采访他的基于NetBeans平台上的系统建模时间驱动模拟环境。基于NetBeans平台的15个创新性的Java应用NetBeans项目不仅仅是个IDE,它还是一个流行的平台。开发者VeeraSundar收集了一个基于NetBeans平台的创新应用列表。社区Java仓库步入国际化Sun已经针对部分国家的开发者开放了Java仓库。这些国家的开发者可以

系统 2019-08-29 22:06:57 1815

编程技术

用例图是软件项目成本预估的好帮手

成本预估对于所有的项目来说都是至关重要的。没有成本预估,就不可能在项目前期控制成本与管控风险。为了让项目经理能够尽早组建团队、申请项目资金,并评估可能的风险,一个方式便是参考以往项目经验来估算项目成本。成本最重要的“开发成本(时间)”部分就是由程序员参考生产力来评估所有系统功能完成的。尽管具体功能花费的时间是由程序员来估算,但是比”具体功能”影响更大的,比如,项目有多少功能?范围如何?则是由项目经理向客户确认的,而确认的结果就是用例文档和用例图。相比用例,

系统 2019-08-29 22:04:24 1815

编程技术

document.createElement()

今天处理了一个日期选择器的ie和ff的兼容问题,本来这种情况就很难找错误,找了好久才把错误定位到js中创建元素的方法document.createElement(),这个方法在ie下支持这样创建元素varinputObj=document.createElement("");但是这样的情况在

系统 2019-08-12 09:30:37 1815

编程技术

向表中批量插入数据的SQL

建立一张表后,有时为了测试,需要向表中批量插入一些数据。如果纯手工插入,相信没有人会干。一下SQL语句可以完成批量数据插入的功能。建表脚本如下:CREATETABLEHELLO(IDVARCHAR2(64),NAMEVARCHAR2(64),AGEVARCHAR2(64));数据插入SQL如下:declarev_countnumber;beginv_count:=1;whilev_count<=10000loopinsertintohellovalues(

系统 2019-08-12 09:30:17 1815

编程技术

状态(State)模式

在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化。如何在运行时根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转化之间引入紧耦合?允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。一,结构:二,示例代码:publicinterfaceState{publicvoidhandle(Contextcontext);}classConcreteStateAimplementsState{publicvoi

系统 2019-08-12 09:29:27 1815