我正在使用带有 Eclipse 的 ObjectAid 为我最新的 Java 项目生成 UML 类图,我目前有一些这样的情况,其中我有两个接口之间的依赖关系,以及其中一个接口的实现之一. 这foo
是我正在使用的图形库。
在前面的示例中,将对象FooCanvas
绘制ITexture
到屏幕上,并且两者FooCanvas
及其接口都ICanvas
将ITexture
对象作为其方法的参数。
导致这种依赖的画布类中的方法如下:
void drawTexture(ITexture texture, float x, float y);
此外,我尝试使用 Java 的泛型对方法签名进行变体:
<T extends ITexture> void drawTexture(T texture, float x, float y);
这样做的结果是一个类图,其中接口和实现类之间只有依赖关系,而画布对象对纹理没有依赖关系。我不确定这是否更理想。
接口和实现对另一个接口的依赖是预期的模式,还是典型的和/或可能使实现与其接口依赖“隔离”?还是通用方法是理想的解决方案?