网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.基于JDBC的数据库连接池技术研究.
.JavaScript的编程.
.Java中的BitSet.
.Java中的Socket编程.
.使用JAVA建立稳定的多线程服务器.
.Struts应用系统案例设计之需求分.
.用Servlets动态生成图片.
.绕过Java开发瓶颈 解析EJB编程限.
.优化JavaApplet的加载过程.
.针对Java移动设备的3D图形第1部分.
.Java如何处理ARP报文的收发.
.川石用JAVA写的留言板原代码.
.致 java 爱好者(2).
.配置weblogic 8.1和hibernate 3..
.Java Servlet API说明文档(2.1a.
.如何在 Java 中如何定义一个常量.
.Java XML教程(附:源程序A).
.Java路径问题最终解决方案之一.
.分享搞定的 CLOB 字段存取的代码.
.Java Servlet 编程及应用之八.

在 Java 类型中对称设计的重要性

发表日期:2008-1-5


在这篇文章中,对称设计是指假如一个方法引起了一种效果,逻辑上相反的方法应该引起相对的效果。这个问题可能很微妙,但是结果可能非常显著。

例如,考虑下面这种情况。你有一个类型ConversionService,这个类型实现流行的生命周期模式。

public interface LifeCycle {

void init();

void start();

void stop();

void destroy();

}

...

public class ConversionService implements LifeCycle {

private Connection conn;

...

public void init() {

conn = new Connection(getServerConfig());

conn.open();

}



public void start() {

...

}

public void stop() {

...

}

public void destroy() {

conn.close();

conn = null;

}

}

在ConversionService的 init() 方法中会创建和打开一个Connection 对象。在这个服务的生命中,Connection 对象被多次使用。然后,当服务被永久地关闭时,destroy() 方法被调用。

因为destroy() 方法逻辑上与 init() 方法相反,所以这就是Connection 应该被销毁的地方。另外一个同样有效的做法是在 start() 方法中创建Connection 对象,然后在 stop() 方法中销毁它。你应该根据你所期望的效果选择需要使用哪种方法。错误的做法是在 init() 方法中创建Connection 对象,然后在 stop() 方法中销毁Connection 对象。

将你的类组织为相反的方法具有相反的效果,你将会使你的更加轻易使用并防止出现意料之外的行为。对象还是越平凡越好。


上一篇:JAVA+ACCESS编程体会 人气:820
下一篇:转:java.util中的Date类 人气:912
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐