关于软件设计
2016-04-18 09:44
169 查看
我认为软件设计需要注意以下几点内容:
1. 对于已出现的业务需求,需要分优先级来支持,不能全盘支持。
我就遇到过这种问题,业务方提供了好多需求,1~20,然后我劈里啪啦的全都支持了。其中的几个需求导致架构的复杂度翻倍,后来才知道这几个需求是非必需的(使用频率非常低)。
2. 对于未出现(可能出现)的业务需求,设计的时候要考虑如何能支持,但是现在不要implement。
需求是会变的,所以不要过度实现。但是必须考虑,否则到时候会很狼狈。
3. 拆分数据和业务模块,业务模块不要有状态,状态(包括数据)可以存放在DB/HDFS/ZK等地方。
1. 对于已出现的业务需求,需要分优先级来支持,不能全盘支持。
我就遇到过这种问题,业务方提供了好多需求,1~20,然后我劈里啪啦的全都支持了。其中的几个需求导致架构的复杂度翻倍,后来才知道这几个需求是非必需的(使用频率非常低)。
2. 对于未出现(可能出现)的业务需求,设计的时候要考虑如何能支持,但是现在不要implement。
需求是会变的,所以不要过度实现。但是必须考虑,否则到时候会很狼狈。
3. 拆分数据和业务模块,业务模块不要有状态,状态(包括数据)可以存放在DB/HDFS/ZK等地方。
相关文章推荐
- hdu1028Ignatius and the Princess III(母函数)
- eclipse中常用快捷键总结、提高开发效率
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个出现一次的数字
- 机器学习基石第一讲:the learning problem
- django--模板的加载和导入
- Linux中的常用符号解释
- C++中new的越界访问问题
- redis结构分析——RDB文件
- ArtEditor富文本编辑器增加表单提交功能
- 2016网易web前端开发实习生面试记录
- ASCII与BCD
- Vim
- 《互联网+时代7个引爆点》读书收获
- 黑马程序员基础评测:面向对象(上)
- 几种并发服务器模型的实现:多线程,多进程,select,poll,epoll - rail
- 字符串的基本操作 汇总
- PPT转化成Image、PPTX、XPS、EMF
- 03-树1 树的同构
- PPT转化成Image、PPTX、XPS、EMF
- Linux中top命令