单独的解码/编码接口或在一个接口中

ash*_*aka 3 java oop api fluent-interface

我正在创建一个执行从一种形式到另一种形式的转换.

我现在面临的设计问题是编码器和解码器API是应该在一个接口中还是在单独的接口中.例如,Apache MINA使用单独的接口

我目前正在做这样的事情:

interface Convertor
{
    A encode( B b );

    B decode( A a );
}
Run Code Online (Sandbox Code Playgroud)

将它们放在一个界面中的基本原理是,您可以集中实现并在一个地方修复任何协议更改.有什么想法吗?

jal*_*alf 6

具有单独的接口并不意味着您无法集中实现.例如,您可以让一个类实现两个接口.或者每个类可以引用实现协议的公共类.

所以我要做的就是拥有单独的接口,至少从一开始就有两个类实现.因此实现是共享的,但是用户代码将编码器和解码器视为独立且独立的概念.