巨大的远程接口 - >最佳做法?

时间:2014-09-10 13:57:54

标签: java interface

我和我的一位同事进行了这次有趣的讨论。 我们有一个远程接口,它有2000多行代码,并且有100多种方法。 此接口的实现具有一些逻辑,但也委托给与某个特定问题相关的其他接口。

我认为我们也应该基于关注点拆分远程接口。 好处: - 关注点分离 - 只需为每个接口创建不同的端点,客户端开发人员应该只使用他们感兴趣的接口 - No"怪物界面" - 例如安全可能是每个端点

他反对这一点,争辩说: - 客户端开发人员可以轻松使用一个远程接口

我想知道"一般意见"这是? 创建一个远程外观是一种很好的做法,它可以将您的所有问题分组到一个端点中吗?

1 个答案:

答案 0 :(得分:0)

如果您考虑可伸缩性以及该接口背后的事实,您最终可能会拥有多个服务(至少在SOA架构中)肯定值得分成多个接口

让我们看看原因:

  1. 事实上,正如你所指出的,你会有分离的关注
  2. 您将拥有轻量级API - 开发人员最终只会使用他们需要的功能
  3. 实施版本控制更容易 - 现在可能不是这种情况,但未来可能就是这种情况
  4. 您的可读性和可维护性 - 更小的界面使调试代码变得更容易,并了解每个问题应该做什么
  5. 实际上,每个端点或每个远程接口的安全/授权/身份验证更容易实现
  6. 我确信此列表可以继续,但这些只是我能想到的一些
  7. 并且给你最后一个论点 - “他们越大就越难落下”