- 浏览: 56045 次
- 性别:
- 来自: 广州
最新评论
-
lv双:
"不同环境打包编译时使用不同的配置信息" ...
maven-antrun-plugin(运行ant的插件) -
zhang_takeiteasily:
maven-antrun-plugin(运行ant的插件) -
zhang_takeiteasily:
不好用。。。。
maven-antrun-plugin(运行ant的插件)
文章列表
[置顶] 业务不要重用
- 博客分类:
- 开发经验总结
在最近修改我们公司的项目的定转活功能时,我发现之前程序员写的一个类里,一个算是MVC模式中的V层的类,写的代码竟然不单是定转活这个功能使用的,还有其它如活转定等功能使用。
这样写的坏处:
1、难维护。
因为代码是多个地方使用,所以修改起来,步步惊心,不知修改了代码会对其它什么功能引起问题。
2、不易阅读
因为代码是多个功能调用,如不把其它的功能的业务都理解透,根本无法读懂代码。
所以,针对这些坏处。我提议,开发时业务不要重用,重用的只是公共的方法。
这样写的好处:
1、方便维护
2、业务清晰
javascript的四种书写风格
- 博客分类:
- javascript
下面我写出四种既风格来完成相同既功能。
第一种:
function utils(){
var a="aa";
this.myalert=function (){
alert(a);
}
this.setA=function(){
a=arguments[0];
}
}
var theutils=new utils();
theutils.setA("bbbb");
theutils.myalert();
第二种:
var utils=function (){
...
dom4j不校验DTD
- 博客分类:
- dom4j
EntityResolver resolver = new EntityResolver() {
public InputSource resolveEntity(String publicId, String systemId) {
return new InputSource(new StringBufferInputStream(""));
}
};
SAXReader saxReader = new SAXReader();
saxReader.setEntityResolve ...
javascript中使用document.form1.submit();来提交表单。则form中的button不能的name和id的名字就不能使用submit,不然会报出属性错误。
- 2012-08-09 16:41
- 浏览 1049
- 评论(0)
dom4j写XML文件,如不格式化,就只会把全部内容全写在一行上,看起来很难看。要实现分层次的格式化,可使用如下的方法:
public static void formatXMLFile(Document document,String filename){
try{
XMLWriter writer = null;
/** 格式化输出,类型IE浏览一样 */
OutputFormat format = OutputFormat.createPrettyPrint();
/ ...
dom4j本地校验DTD
- 博客分类:
- dom4j
如果XML中存在
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
这种语句,说明要进行校验。
如果校验则会连接网络,这样做会很慢的。我们可以设置成校验本地的DTD,那么就设置个解释器到SAXReader,代码如下所示:
EntityResolver resolver = new EntityResolver() {
public InputSource resol ...
[转载声明] 转载时必须标注:本文来源于铁木箱子的博客http://www.mzone.cc
[本文地址] 本文永久地址是:http://www.mzone.cc/article/298.html
ant是一个老牌的项目打包管理系统了,目前虽然已经慢慢被maven取代,但其功能的强大仍然是很多场合下的首选,尤其是众多的task可以基本满足任何需求。其实在maven中也有使用ant的需求,比如不同环境打包编译时使用不同的配置信息等,或者是说做一些文件删除、复制之类的事情,这有些是maven做不来的,而ant就可以了,况且maven中已经有了maven-antrun-plugin插件, ...
工厂模式主要是用来创建对象的。而这些对象,很有可能会变化,变成其它的对象。那我们在设计工厂时,就必须要经得起这样的变化。
在我看到的开源代码中,就有两种方式去适应这种变化。
[list]
使用配置文件
这是一种比较常见的方式,把实体类写在配置文件中。创建时使用反射的方式生成。
String singletonClass = .... // 从配置文件中取得
Class clazz = Class.forName(singletonClass);
Object result = (SingletonStrategy) clazz.newInstance();
使用系统参数
S ...
好处主要有:
1、将创建实例的工作与使用实例的工作分开
2、把初始化实例时的工作放到工厂里进行,使代码更容易维护。
3、使得修改代码时不会引起太大的变动,良好的扩展性。
比如,有对象A。现在要修改这个实例的方法。就会有对象B,继承A,然后重写A里面的某个方法。这时,如果没有工厂模式,那么就要把每次创建A对象的代码都改为创建B对象。这是很可怕的一件事情。
如果有工厂模式,那么,我们可以只修改工厂中创建A对象的方法,就可以完成这件事情了。更容易的,可以把这个实例的创建写在配置文件中。那么对于这种变动,只要修改配置文件就可以实现了,不需要修改工厂类。
ECTIP(电子银行部)是我们的后端,我们做的手机银行项目因为要与ECTIP(电子银行部)通讯,而通讯的IP是有限制的。我们开发的电脑上的IP根本连不上去。做开发时,都是把程序写好,然后放到一部LINUX机上部署来测试。这种方式当然就不能像Eclipse那样方便的来断点调试了。而且多个开发人员去使用这个环境的时候,经常会有冲突,开发起来相当的麻烦。
针对这种情况,我想到转发连接的方式。就是把本地要发送的内容,都转到固定的LINUX上转发这些报文,然后把返回的报文再发回到本地,从而实现正常的通讯。
我用Servlet去实现这个转发的服务,本地上只要配置发送的地址是LIN ...
测试环境是测试的基础
- 博客分类:
- 开发经验总结
这两天上线,发现了一些问题。其中有一个问题是客户端的一个很容易发现的BUG。但是我们的测试人员竟然在测试时没有发现。
经过分析,原来是客户端存在缓存引起测试时顺利的通过了。
感叹之余,我们也沉思了一回。才知道测试环境的正确性比测试本身重要。他是测试的基础,如果连测试环境都不能确保,测试的结果可想而知。
希望经过这次的教训,我们的测试人员能好好反醒。
提议测试客户端前先把以前的版本删除,再重新装过新的版本。