模块AnimalList是否具有与Animal的Uses依赖关系?

时间:2010-11-09 22:00:00

标签: architecture

Documenting Software Architectures: Views and Beyond中可以阅读

  

使用是两种模块之间可以存在的依赖形式。一个   如果A的正确性取决于是否存在正确,则使用 B.   B的实施。

现在,这是否意味着如果我有一个AnimalList类是Animal个实例的容器,但实际上并没有在任何动物上调用任何方法,那么是否有使用从A到B的依赖形式?

在我看来它没有。我可以做任何我想要动物的变化,AnimalList仍然会完全忘记这个事实。它只需要它的存在 - 仅此而已。

这种“关系”有没有名字?

由于

1 个答案:

答案 0 :(得分:1)

有些人称之为名称耦合,因为AnimalList依赖于名为Animal的类。然而,这通常是一种糟糕的设计,除非语言中的缺陷需要它。正确的实现是使用某种参数化类型。所以你实现了List,它完全与包含的对象分离。