关注点分离与松散耦合

MoS*_*She 2 design-patterns loose-coupling soc

我想了解关注点分离和松散耦合之间的区别.

通过分离关注点进行编码是否真的会产生松散耦合的代码?

谢谢.

Ser*_*kiy 6

耦合是指每个组件对其他组件的了解程度.

关注点的分离是关于在不同组件中分离功能的不同方面.您可以分离不同的方面,但使组件紧密耦合(即使用具体类而不是抽象).

更新:凝聚力显示组件的责任密切相关.当您将不同组件中的不同关注点分开时,组件的职责就会紧密相关,因此您具有很高的凝聚力.

  • 如果没有关注点分离,就不可能拥有松散耦合的系统,但关注点分离并不能保证松散耦合的系统。 (2认同)

Bri*_*ler 5

考虑这个问题的有用方法是,关注点的分离决定了每个类/函数应该做什么,并且耦合决定了这些类/函数对彼此的了解程度.

关注点的分离与单一责任原则有关,即单一责任原则,即系统中的每个组件应该只对一件事负责.

系统中的耦合量与每个组件如何相互通信有关.他们是否具有相互之间的强大知识(紧密耦合),或者他们是否通过接口/功能绑定/等(松散耦合)抽象出彼此的知识?松散耦合通常使系统更容易更改,因为更改系统的一个部分不会影响其他组件.