服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

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

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

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

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

扫描关注微信公众号