本文主要是介绍Object Oriented Design-coupling and cohesion,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Firstly and most importantly, Designs that exhibit low coupling and high cohesion are preferred.
What is coupling?
coupling就是两个class之间的相关程度,所以越低越好。
Figure 1b provides an alternate design involving the same modules. In this case, module A depends upon module B which in turn depends on module C. In this case, if module C changes, the software developer need only first consider if changes to module B are necessary. If no changes to module B are needed, the developer need not consider module A. The design in Figure 1b exhibits lower coupling (dependencies) between the modules than the design shown in Figure 1a.
What is Cohesion?
//I am not too sure right now, but I will renew it in the future!
cohesion就是一个class内method关联程度,所以越高越好
so high cohesion is better, which meets single responsibility principal
举个栗子,HairSalon Class里面有两个field,一个是bookings,一个是specialists. 这两者并没有直接的关系所以放在同一个class里面会显得非常奇怪并且导致low cohesive(会有很多没什么关联的method)。所以我们要把这两个field分开成两个class为了满足 Single Responsibility Principle
(The Single Responsibility Principle indicates that each class should be centered around one cohesive concept)
这篇关于Object Oriented Design-coupling and cohesion的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!