这是我个人的学习笔记 , 如有不同见解欢迎评论交流 .
( GeekBand-极客班 http://geekband.com )
( 我的微博 : http://weibo.com/JohnnyB0Y )
基本步骤 :
1. 仔细阅读应用的功能需求文档
* 多阅读几次应用的功能需求文档 , 保证能够在开发讨论的时候不看需求文档说出需求内容 .
* 对应用的业务逻辑进行分析 , 哪些能做 , 那些不能做 , 或者比较复杂的部分 . 在开发讨论时进行分析 .
* 分析美术设计效果图 , 对其中的细节进行分析 , 也是需要明确哪些能做好不好做 . 最终确定开发的功能需求难点 , 哪些先做 哪些后做 .
* 把项目分成UI逻辑部分和业务逻辑部分两大块同时进行开发 , 其中必须让UI部分与业务部分的接口进行讨论设计 , 让最后两大块合并时能够更完美.
2. UI逻辑
* 搭建基本的UI架构 , 也就是应用的整体骨架 .
* 然后针对具体的页面进行实现 .
3. 业务逻辑
* 业务逻辑上要细分各个模块 . 例如 : 图片下载 , API通信 , 数据解析 , 数据结构 , 音频播放 , 视频解码 等等....
* 模块设计 . 例如 : 图片下载模块只需专注图片的下载, 而像图片上传就不用该做 . 把模块能做什么暴露给工程师调用 , 怎么做只需要自己知道就行. 高内聚 , 低耦合 .
* 解耦的好处是可以复用 . 模块之间可以相互依赖 , 组成其他的模块 . 例如 : 图片下载的模块是依赖网络访问和图片数据解析 等模块 , 而图片上传模块也是依赖网络访问和图片数据解析等模块 .
4. 把UI逻辑 和 业务逻辑 组合
* 组合之后就成了应用的雏形 .
* 然后 精心打磨 测试修改 .
* 最用就是应用成品了 .
总结 :
* 这种开发步骤只是全局的把握 , 具体的实现细节还有很多值得关注的地方 . 其实重点就在于 分析需求 , 分工开发 , 代码复用 .
* 在后续如果有新的发现我会修改或增加细节的东西 , 谢谢 .