如何从零开始设计系统
2010-08-11 09:42
369 查看
一直不满足于只是做一两个模块, 想着自己设计一个完整的系统,最近自己在写一个小玩意儿,有一些经验和思考,故有了以下的内容。
首先想说的是: 这只是些个人体会,并不完善。如果有谁在看的话,希望不要被误导。ok,言归正转。
王道: 多写代码,少些花里狐哨的名堂。
基本原则:
考虑到在开始设计一个新的系统时多缺乏足够的领域知识,应采用增量的方法设计。
1. 简化环境, 抓住重点, 尽早完成一个简单,但完整的系统。
不要试图一下子完成所有功能,第一步就是尽量砍掉复杂的背景、功能,让问题简单至你能掌控的程度。必须意识到系统不是一次就完全做好的,不必一开始就要求完美。
2. 开始设计。以严谨的思维,让系统足够模块化,骨架足够健壮。
3. 单独设计每个模块。按照《编程黄金过程》的步骤,专心把各个模块好好的完成,这里的关键词是少犯错。
4. 形成了简单可用的系统后,不断添加血肉、润色,最后形成一个完善的系统,修改较大时,甚至可以丢弃原来的代码,重新开始设计。
以下引用了Google院士Jeff Dean说过的话:
1.在设计系统方面,不要想做的很全面,而是需要抓住重点。
2.为了增量做设计,但不为无限做设计:比如:要为5-50倍的增量做设计,但超过1000倍了,就需要重写和重新设计了。
3.一个接口,多个实现。
首先想说的是: 这只是些个人体会,并不完善。如果有谁在看的话,希望不要被误导。ok,言归正转。
王道: 多写代码,少些花里狐哨的名堂。
基本原则:
考虑到在开始设计一个新的系统时多缺乏足够的领域知识,应采用增量的方法设计。
1. 简化环境, 抓住重点, 尽早完成一个简单,但完整的系统。
不要试图一下子完成所有功能,第一步就是尽量砍掉复杂的背景、功能,让问题简单至你能掌控的程度。必须意识到系统不是一次就完全做好的,不必一开始就要求完美。
2. 开始设计。以严谨的思维,让系统足够模块化,骨架足够健壮。
3. 单独设计每个模块。按照《编程黄金过程》的步骤,专心把各个模块好好的完成,这里的关键词是少犯错。
4. 形成了简单可用的系统后,不断添加血肉、润色,最后形成一个完善的系统,修改较大时,甚至可以丢弃原来的代码,重新开始设计。
以下引用了Google院士Jeff Dean说过的话:
1.在设计系统方面,不要想做的很全面,而是需要抓住重点。
2.为了增量做设计,但不为无限做设计:比如:要为5-50倍的增量做设计,但超过1000倍了,就需要重写和重新设计了。
3.一个接口,多个实现。
相关文章推荐
- 如何使用设计模式来构造系统--(7)
- 从零开始Desire HD刷机指南——第十六章:如何给系统降级
- 电商网站秒杀系统如何设计
- 从kubernetes看如何设计超大规模资源调度系统
- 如何设计系统的错误码及错误信息
- 如何设计一个小而美的秒杀系统?
- 系统即服务,如何提升系统全局把控和设计能力?
- 如何使用设计模式来构造系统--(1)
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统
- 如何设计一个小而美的秒杀系统?
- 系统设计面些啥?Palantir 面官教你如何准备系统设计面试!
- 如何做好软件系统的架构设计?
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)
- 从零开始设计系统(2)
- 如何做系统权限设计[摘录]
- 中小企业如何设计存储系统方案
- 成功的虚拟化系统是如何炼成的?设计篇 推荐
- 如何提高系统性能之数据库设计