关于神杀的高耦合的讨论

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值