作者: 康凯森
日期: 2016-04-25
分类: 笔记
为满足特定需求而设计系统的架构,组件, 模块, 接口, 数据。
系统设计 = 逻辑设计 + 架构设计
微博,人人,微信,滴滴等等
即需要设计哪些功能 1 枚举所有功能 2 按照重要性进行排序,选择核心功能
即需要设计多牛的系统 1 询问 2 预测
即分析系统的主要组成模块 1 重放需求,为每个需求添加一个服务 2 归并相同的服务
即 数据如何存储和访问 1 为每个服务选择数据存储结构 2 细化表结构
程序 = 算法 + 数据结构 系统 = 服务 + 数据存储
前4步可以产生一个解决方案,但肯定不是完美的解决方案
即 解决缺陷,处理可能遇到的问题
系统设计不是设计一个最好的方案,而是设计一个最合适的方案
在设计之前问清楚再动手设计
不要做关键词大师
不要一开始就冲着很牛逼的方案去
不要总想着做最牛的系统,要设计够用的系统
Done is better than perfect!
先设计一个基本能工作的系统,然后再逐步优化