Loading...

java .net

2007-1-16 星期二

Todaywebserviceaxisjbuilder2006

       今天做了两个基于TomcatwebserviceTomcat本身不支持webservice,需要有一个axis的插件,说白了就是jar包来支持,webservice利用xml基于soap协议传输来调用远程方法,在客户端和服务器端都有业务提供类的一个接口,他们通过wsdl语言来定义提供的哪些服务,客户端解析服务器端提供的wsdl生成业务类的接口,这样客户端就可以远程调用了。

       利用jbuilder2006构建webservice是很简单的,所有复杂的都自动生成了,但其中还是有些一些bug,比如今天遇到的,建立了一个web应用程序用来提供服务,在通过向导添加webservice服务器端的时候,就是不出现先前建好的web应用,最后在网上查原来是:在JBuilder 2006中建立WebService的服务器端程序的时候,不管怎么试都是卡在建立WEB MODULE这个地方了。主要是JB2006自带的TOMCAT的问题--------把建立WEB MODULE时的 SERVLET版本改成SERVLET 2.3JSP版本改成JSP1.2就不会卡住了。晕。

       昨天看effective java,第一条,试着用静态工厂方法替代构造函数,原因有:

1、静态工厂方法有名字,可以让人知道这个对象构造出来是什么,比如一个类需要提供几个构造函数,它们有不同的函数原形(函数原型包括函数名和函数的参数但不包括函数的返回类型),这样很可能让用户不能清楚地知道每个构造函数是做什么用的,除非去看文档,而将其中几个构造函数用静态工厂方法代替,解决了这个问题。

2、静态工厂方法可以返回不同的对象,这特别适用于面向接口编程,按照提供的参数可以返回接口的不同的实现。

3、静态工厂方法可以不象构造函数那样每次都创建新的对象,可以是单立的,也可以不创建重复的对象,也就是如果两个对象的属性值相等就不创建新的返回已经存在的。

另外,还提到了静态工厂方法的缺点,1、如果一个类将构造函数设成了private的,用静态工厂方法来创建对象,那么这个类将不能被继承,因为子类不能调用父类的构造方法(已设成私有)。2、静态工厂方法跟其它静态方法没有任何区别,所以必须给它们起一个合适的名字,比如getInstance().,这种说法破坏了已有的规则,但规则,对象都是由构造函数创建的,但使用静态工厂方法又有它的独到的好处。所以在取舍上,作者这样说,在实际开发中,如果没有足够的理由,还是老老实实的使用构造方法来创建对象,毕竟这是已有的规则。

posted on 2008-08-26 22:06 阅读(98) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

公告

希望有一天

我能用鼠标双击我的钱包

然后选中一张100元

按住“ctrl+c”

接着不停的“ctrl+v”

嘻嘻~~~笑醒~~~



导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(6)

随笔分类(102)

随笔档案(398)

文章分类

文章档案(10)

有趣网络

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜