作者:无言的歌slp_630 | 来源:互联网 | 2023-05-18 08:48
所谓高耦合,linux是个典型的例子用过linux就会明白,高耦合是很好的我举个例子linux中有很多命令,每一个都是一个小程序;很多其它程序都需要他们然后有些程序又被另外的程序所需要这对于整个li
所谓高耦合,linux是个典型的例子用过linux就会明白,高耦合是很好的
我举个例子
linux中有很多命令,每一个都是一个小程序;很多其它程序都需要他们
然后有些程序又被另外的程序所需要
这对于整个linux系统而言是一种高耦合
体现就是,有些命令在很多程序中都被利用过,整个关系网错综复杂,很多循环依赖
我们再看看神杀
player,skill,card,几个基础的类,他们的成员函数如果内部相互调用,就属于高耦合
如何解耦?
很显然,要写很多中间类
比如player不能和skill,card直接接触,通过其他模块进行通信,返回其结果
再比如,还有一个room类,里面调用了所有三个基础类的方方面面,这也属于高耦合,不应有这种集中式的处理,要分散开来
模块不一定是类,可以使更小的函数
但是,如果一个大类,里面很多函数,是否低耦合?肯定不是
因为它的复用性极差
因此,神杀一经写成,很难改成其他类别的游戏
解耦是为了提高复用性,因此适用于大型项目,神杀这种小项目看似不需要,但是对于后期扩展来说,如此高耦合的写法使得高难度的扩展困难重重
比如飞虎将军写过的一些杰出的代码,就是最好的证据
很难把一个函数直接搬到其他地方去用,而是必须仔细考察,把需要的函数语句单独提出,这就是高耦合的典型体现