`
lianghao619
  • 浏览: 56045 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
在最近修改我们公司的项目的定转活功能时,我发现之前程序员写的一个类里,一个算是MVC模式中的V层的类,写的代码竟然不单是定转活这个功能使用的,还有其它如活转定等功能使用。 这样写的坏处: 1、难维护。 因为代码是多个地方使用,所以修改起来,步步惊心,不知修改了代码会对其它什么功能引起问题。 2、不易阅读 因为代码是多个功能调用,如不把其它的功能的业务都理解透,根本无法读懂代码。 所以,针对这些坏处。我提议,开发时业务不要重用,重用的只是公共的方法。 这样写的好处: 1、方便维护 2、业务清晰
下面我写出四种既风格来完成相同既功能。 第一种: 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

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,不然会报出属性错误。

格式化XML

dom4j写XML文件,如不格式化,就只会把全部内容全写在一行上,看起来很难看。要实现分层次的格式化,可使用如下的方法: public static void formatXMLFile(Document document,String filename){ try{ XMLWriter writer = null; /** 格式化输出,类型IE浏览一样 */ OutputFormat format = OutputFormat.createPrettyPrint(); / ...

dom4j本地校验DTD

如果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。但是我们的测试人员竟然在测试时没有发现。    经过分析,原来是客户端存在缓存引起测试时顺利的通过了。    感叹之余,我们也沉思了一回。才知道测试环境的正确性比测试本身重要。他是测试的基础,如果连测试环境都不能确保,测试的结果可想而知。    希望经过这次的教训,我们的测试人员能好好反醒。    提议测试客户端前先把以前的版本删除,再重新装过新的版本。
一、为什么要学习     因为只有学习才能使你不落于人后,要与时俱进,要活得充实,请相信,只有学习才能做到。 二、学什么     这是学习的方向。这个要问自己,问自己喜欢什么,对什么有兴趣,自己擅长什么。还有一点很重要,学习要与个人的提升相关,因为人的精力时间有限,不可能什么都学足学懂,所以要捉住重点,关键点。
Global site tag (gtag.js) - Google Analytics