Hor*_*ice 9 java oop spring design-patterns
无论如何,当我们必须创建一个实现类时,松散耦合如何与接口相关联?实现类被强制实现接口中定义的所有方法.我不明白这是如何允许失去耦合的?我是面向对象编程和软件设计的新手,所以如果你能对这个主题有所了解,那将会非常有用.一个例子就是锦上添花.
Phi*_*ipp 11
关键是接口不仅允许你编写一个实现它的类,它允许你写几个.
当您拥有通过使用接口与类交互的代码时,该代码能够与实现所述接口的任何类一起工作,无论它如何实现它.这允许您将不同的类提供给相同的代码而无需修改它.
请注意,接口不是达到松散耦合组件的唯一方法.松散耦合仅意味着组件能够一起工作而不会假设彼此的内部工作.这样做是因为您的组件越多地将对方视为黑盒子,就越容易在一个组件上进行更改而不影响任何其他组件.接口可以是实现这一目标的一种工具,但它们都不是必需的,它们也不是唯一值得一提的工具.
小智 9
实现类能够选择如何实现该功能.
public interface PersonRepository {
Person getPerson(String name);
}
Run Code Online (Sandbox Code Playgroud)
可以通过读取CSV文件或查询数据库来实现.需要这个人的对象并不关心这个人是如何被发现或装载的.
因此,它被认为是松散耦合的.
如果它是紧密耦合的,则需要知道如何构造SQL查询或读取CSV文件.
| 归档时间: |
|
| 查看次数: |
10408 次 |
| 最近记录: |