系统设计经验谈(三)
<br /> <br />2010-12-1<br />1. 抽象的模块划分图是示意图,在系统设计中应该有配套具体的模块关系图对其进行解释。<br />2. 环形调用关系的出现有时是不可避免的。尽量不要出现。<br /> <br />2010-12-2<br />1. 在复杂调用系统中,应该明确同步阻塞关系。<br />2. 在Interpreter模式中,若需要崩溃恢复,不能使用冻结脚本虚拟机并
·
2010-12-1
1. 抽象的模块划分图是示意图,在系统设计中应该有配套具体的模块关系图对其进行解释。
2. 环形调用关系的出现有时是不可避免的。尽量不要出现。
2010-12-2
1. 在复杂调用系统中,应该明确同步阻塞关系。
2. 在Interpreter模式中,若需要崩溃恢复,不能使用冻结脚本虚拟机并恢复的原理,因为运行环境很可能变化了。而应该是缓存住之前耗时操作,重新执行。
3. 在设计版本升级流程中,第一步应该尽量考虑绿色安装,零配置,通过文件/目录名来识别版本号。这样可以降低系统的复杂度。
4. 脚本执行中,强制杀死脚本虚拟机很可能会存在各种难以预料的问题。(要设计成可以通过外部停止脚本的形式)
5. 对于各项LEVEL的评定,刚开始设计就可以拉大梯度,方便扩充。(不要设计成1、2、3,应该是10、20、30这样)
6. 多用信号量,少用轮询
7. 不要为了接口的美观而复杂化接口,有的情况下提供 “简单的接口 + 人为的使用约束”比接口约束要好。
8. 跨进程同步需要在设计的时候规范共享内存区的命名或者互斥锁的命名。
9. 升级流程在初期设计成递增版本号,比复杂版本号如(v0123.1)要简单。
更多推荐
已为社区贡献5条内容
所有评论(0)