我正在尝试模块化遗留代码,这样做我遇到了这个问题:
我有两个属于同一个模块的类 - 以及许多其他类 - 每个类都有一个或多个在其他地方使用的公共方法。我想为模块创建一个通用接口,但我不确定如何去做。如果我为模块创建一个接口,我最终将不得不在所有使用该接口的类中实现空白方法,这听起来不太好。但是,如果我创建多个可由模块中的特定类使用的接口,我将把它们全部组合在一个仅用于类型引用的接口中:
/-------------\ /-------------\
| Interface A | | Interface B |
\-------------/ \-------------/
/-------------\ /-------------\
| Class A | | Class B |
\-------------/ \-------------/
/-------------\ /-------------\
| Interface A | | Interface B |
\-------------/ \-------------/
^ ^
| |
/------------------\
| Module Interface |
\------------------/
是否有任何设计模式可以帮助我解决这个问题,或者将构成特定模块的接口组合成一个子接口来表示模块类型,以正确的方式实现这一点?