在Documenting Software Architectures: Views and Beyond
中可以阅读
使用是两种模块之间可以存在的依赖形式。一个 如果A的正确性取决于是否存在正确,则使用 B. B的实施。
现在,这是否意味着如果我有一个AnimalList
类是Animal
个实例的容器,但实际上并没有在任何动物上调用任何方法,那么是否有使用从A到B的依赖形式?
在我看来它没有。我可以做任何我想要动物的变化,AnimalList仍然会完全忘记这个事实。它只需要它的存在 - 仅此而已。
这种“关系”有没有名字?
由于
答案 0 :(得分:1)
有些人称之为名称耦合,因为AnimalList依赖于名为Animal的类。然而,这通常是一种糟糕的设计,除非语言中的缺陷需要它。正确的实现是使用某种参数化类型。所以你实现了List,它完全与包含的对象分离。