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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值