您所在的位置:开发 > Java > 在 Java 类型中对称设计的重要性

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

2005-08-10 00:00 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

AD:

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

例如,考虑下面这种情况。你有一个类型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 对象。

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


分享到:

网友评论TOP5

查看所有评论(

提交评论

  1. 专题:JVM编程语言,你的选择?
  2. 宅男程序员给老婆课程之11:域模型

文章排行

本月本周24小时

热点专题

更多>>

读书

Tomcat与Java Web开发技术详解
本书详细介绍了在最新Tomcat 5版本上开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone