赞 | 0 |
VIP | 135 |
好人卡 | 6 |
积分 | 3 |
经验 | 37799 |
最后登录 | 2020-4-30 |
在线时间 | 812 小时 |
Lv2.观梦者 旅之愚者
- 梦石
- 0
- 星屑
- 275
- 在线时间
- 812 小时
- 注册时间
- 2007-7-28
- 帖子
- 2148
|
回复
谢谢分子兄提醒,是我太较真了^_^
不过,我是真的很希望六祈版主能明白里边的道理,绝没有别的意思~
...
独孤残云 发表于 2010-8-23 12:38
绵里藏针话中带刺不是讨论的做法,如果你对愚者有何不满可以直说,版主的权限愚者只会依版规而用
希望xxx明白这种话说起来似乎是愚者不懂而您懂了【应该没曲解吧】,既然说这样的话又何必惺惺的说绝没有别的意思呢?
回到我一开始触痛您的话,愚者说您没有基本常识,理由如下:
IamI说rm脚本天生的大量使用了全局变量,已无耦合性可言
【诚恳的说,愚者不是软工的,也不懂耦合度,于是大致理解为代码的相互依赖度和侵入度,如若有误,请指出】
对于一个翻过几遍F11的人来说,应该是懂得$data_xxx和$game_xxx这些的,几乎充斥了整个游戏的全部进程
既然你说怎么做不到低耦合度,于是愚者很简单的理解为您没怎么浏览过F11的默认脚本【ok,愚者之前那句的观点仅仅在此,如果有错,向你道歉】
【回到帖子的主题】把我想表达的意思全部写出来:
写脚本,低耦合度意味着更少的整合和调试
于是要做到:
【对原脚本的破坏性要小】
【与其它脚本兼容性要好】
后面说到super调用的问题,对于原类没有的方法,混入模块就能获得方法,这个最简单,但是有时候难免会因为其它脚本的缘故而导致命名被占。
已有的方法要用super来调用混入模块的方法,而混入模块的方法又要用super来调用原父类的方法
如果只是默认脚本的基础上加入一个人的混入模块,还可以通过一一查看原类是否已有方法来解决。如果是在其它脚本师的脚本之后加入呢?【有没有同名方法,有的话那么有没有super,没super同名方法等于没写,有super不写就完了。没有同名方法写了super又是悲剧】这个需要考虑的东西数量会很多
这些就是后面我想表达的关于include的潜在问题【也许是因为愚者才疏学浅】。
另外这样的看法是相对alias而来的,alias的技巧从设计模式的角度来讲,应该算装饰器模式,每个脚本师都可以在之前的基础上添加自己的语言而不会和其它脚本师的脚本冲突【或者说不容易】
以上为愚者拙见,望楼主不吝赐教 |
|