论坛首页 Java企业应用论坛

没有方法的接口

浏览 3258 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-31  
比如
public interface DAOFactory {

}
public class XXDaoFactory implements DAOFactory{
 
//======================
}


疑惑:DAOFactory 中没有任何方法,这样做的意义在哪里呢,如果说多态的话,也应该有方法啊,要不怎么调用呢?
没有任何方法的接口的意义在哪里?
难道是传说中的标识性接口?
   发表时间:2008-03-31  
java api 中序列化接口 就是这样一个接口,
"public interface Serializable类通过实现 java.io.Serializable 接口以启用其序列化功能。
意义:
未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义"

实际运用当中,好象比较少声明一个语义级别的接口吧?但用设计模式的时候好象看多有的! 呵呵
0 请登录后投票
   发表时间:2008-03-31  
我们就是实际上用的,就是不明白为什么要这么用,要是他在这里是这么用的,那么他如何像使用Serializable 接口那样一样使用呢?
是用instanceof 吗,为什么要判断呢?
0 请登录后投票
   发表时间:2008-03-31  
Serializable 接口在java api中可能是一种语义处理,就是说只有实现了这个接口才具能序列化 语法规定?呵呵 就象我们在用aop的时候 , 以creat save开头的认为是保存操作,有对应的事物管理!

实际中用,可以能是为了标志一类操作,我看你的代码,是个工厂,我猜可能表示所有实现这个接口的就是dao层的操作,还有就是可能,先声明一个总的接口,然后多个接口去扩展这个接口,表示多个接口是统一一个接口的扩展!

说到底还是标志作用! 我们原来做过一个项目,提倡针对接口编程,接口反映的是一类业务逻辑,暴露出来,或者说看到接口就大概知道业务逻辑,至于实现是在接口的实现类里的,从这个延伸,声明一个接口里面没有方法,就不是一个业务逻辑的体现,只能解释为是一种标志性的作用,可能作为是一种管理性的声明!

呵呵 这是我的理解,!
0 请登录后投票
   发表时间:2008-03-31  
用于标志的接口。以后可能大家会比较喜欢用annotation来替代这样的接口。
0 请登录后投票
   发表时间:2008-03-31  
标识接口 一般是用instanceof 判断
可以对实现此接口的class做某些有意义的处理
0 请登录后投票
   发表时间:2008-03-31  
不仅仅是这个工厂,其他的也有这样写的
public class LeaderDaoImpl implements LeaderDao
public interface LeaderDao extends FDBaseDao
public interface FDBaseDao extends FDDao
public interface FDDao


最后这个sgDao是空方法的。

注意:这次我发的public interface FDBaseDao extends FDDao
为什么又是集成呢,怎么不是实现???


这种标识性接口是要实现还是继承???



0 请登录后投票
   发表时间:2008-03-31  
我问了个 错误的问题,刚才我发的是接口和接口之间当然是继承了,呵呵,发错了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics