【发布时间】:2012-01-15 12:02:45
【问题描述】:
我知道在接口中放置常量通常被认为是不好的做法,但是...
我正在使用观察者模式将事件从对象广播到侦听器。
interface DownloadListener
{
public void sendEvent(int eventId);
}
广播器使用常量整数告诉监听器发生了哪个事件。
class DownloadTask
{
public static final int EVENT_DOWNLOAD_STARTED = 1;
public static final int EVENT_DOWNLOAD_COMPLETED = 2; //should these go here?
DownloadTask(DownloadListener listener)
{
listener.sendEvent(EVENT_DOWNLOAD_STARTED);
}
}
将常量放在接口内会更好吗?我的想法是接口是广播者和听众之间的契约,因此它应该包含该契约的细节(常量)。
我正在为移动设备(Java 1.3)开发,所以很遗憾不能使用枚举类型。
【问题讨论】:
-
我确信接口中的常量没有问题
标签: java oop design-patterns