论坛首页 Java企业应用论坛

两个接口有几个操作相同,需要再把这几个操作方法抽取出来再写一个接口么?

浏览 8827 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-30  
OO
如题:这两个接口在同一个包内.有一定的联系,相同的方法实现相同的功能.

如果抽取出来一个新的接口,让那两个接口继承该接口,显得那个新接口怪怪的,这个新的接口只能有抽象的实现类.

如果不抽取出来,显得接口中方法的定义有些重复

   发表时间:2006-09-30  
相同的方法,相同的功能,为什么要写在两个接口里呢?
0 请登录后投票
   发表时间:2006-09-30  
等到有新的需求出现要单独使用新接口的时候,再重构也来的急
0 请登录后投票
   发表时间:2006-09-30  
情况是这样的:
我基于一个第三方的框架实现一个特定的功能,第三方的框架提供了一个空的接口,而我需要根据这个空的接口实现两个类,可能拥有相同的属性和操作(比如拥有相同的context),但核心的操作是不同的,如附件所示。
  • 大小: 17.8 KB
0 请登录后投票
   发表时间:2006-09-30  
有点累赘,不知道你设计那两个接口3,4的理由是什么?
0 请登录后投票
   发表时间:2006-09-30  
wolfsquare 写道
有点累赘,不知道你设计那两个接口3,4的理由是什么?


这样可以在只用到一个方法的时候不用实现另一个
不知道 我的理解是不是这样


还有觉的坐地很像工厂方法
0 请登录后投票
   发表时间:2006-12-26  
   接口3,4存在也许有你的理由,但是接口3,4分别继承接口2就是多此一举了。
0 请登录后投票
   发表时间:2006-12-27  
如果单从技术角度考虑,这样的问题永远没有答案。接口是从领域概念中抽取出来的,而不是从代码中抽取出来的。
能不能合并要看这些概念在业务领域中是不是具有同一性,如果有,必须合并在一起,如果不是同一个概念,即使有一万行代码是相同的,也不能合并在一起。
如果两个接口中有几个操作是相同的,并且这几个操作抽取出来能对应到业务领域中的某个概念,有了这个概念,能使你的领域模型更加清晰,客户也能够借此更加清楚的描述他的想法,这样的抽取就是成功的。
0 请登录后投票
   发表时间:2006-12-27  
接口2与接口3,4没必要有联系。。。
写实现时一起实现不好么。。。。一次实现二个接口语法支持。。。
这样写关系分离清楚
0 请登录后投票
   发表时间:2006-12-27  
不知道具体情况,有点不好判断。
要我觉得,直接写第三个接口,
也不需要接口1,2从中继承,由具体实现类实现就好。

一般没有必要的话,没必要继承接口。
0 请登录后投票
论坛首页 Java企业应用版

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