2016-03-16 26 views
0

我正在读一本书,它给出了松耦合的例子:虱子耦合和Java按钮

作为一个例子采取的Java类的按钮,在这里你需要和 听众分配一个按钮,以现有的按钮而不必在现有按钮类中更改 任何内容。

我不知道我理解作者的意思。这是一个松耦合的例子吗?

回答

2

耦合是松散的,因为Button不知道您的特定ButtonListener实现的任何内容。相反,ButtonListener不太了解Button。 ButtonListener接口仅为您提供一个事件 - 封装您需要了解的更改内容的信息。您的实施仅限于了解该事件源的类型。因此,你的监听器和按钮不会直接使用它们的类级API元素进行对话,它们只能通过它们实现的接口(ButtonListener和Event)相互交谈。一般来说,当两个类通过共享的抽象API相互通信时,它们被描述为松散耦合 - 意味着它们都不依赖于另一个的实现特定细节,因此它们的内部可以独立更改。