java - 获得正确的接口(interface)粒度级别

标签 java language-agnostic architecture interface api-design

我目前正在做一些API设计工作,涉及到一些接口(interface)的规范作为抽象,稍后将由各种具体类实现。

碰巧,我正在使用 Java,但我认为这个问题与支持类似接口(interface)概念的任何语言都相关。

我注意到通常有一个选项:

  • 做一个大界面,方法齐全
  • 创建多个接口(interface),每个接口(interface)包含所有方法的一个子集(单个具体类可能必须实现多个或所有这些接口(interface))

每种方法的优点/缺点是什么?

最佳答案

拆分接口(interface)的优点是您可以将方法分成一组有意义的职责。缺点是您的接口(interface)现在被分成了一堆可能由一个类实现的较小的接口(interface)。

我会建议将界面拆分到有助于提高可读性的地方,而不是进一步。如果您有一个实现 10 个接口(interface)的类,要么这些接口(interface)需要合并为一个,要么该类可能承担了很多责任,它确实需要两个或更多类。

关于java - 获得正确的接口(interface)粒度级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759841/

相关文章:

java - 在 Liferay 中获取布局友好的 URL

java - 黑客排名java字符串正则表达式用户名

windows - 在控制面板 -> 声音中添加我自己的应用程序事件

language-agnostic - 缩小测试用例

language-agnostic - 英式英语到美式英语(反之亦然)转换器

mysql - 在具有多个用户的 VM 上使用版本控制

java - 在 Openfire 中使用 openID 框架进行身份验证方法

java - eclipse kepler 中的冗余空检查

php - 哪种Web应用模块化结构更好?

database - 将多个在线销售点数据保存到单个销售点的最佳方法