开发web应用,好的开发流程是怎么样的?
一、开发web应用,好的开发流程
就个人开发自己小项目而言,我仅谈谈自己的做法,希望有所帮助。
名列前茅步自然是做mindmap,无论是在平板上做还是电脑上做,这个步骤大概就是积累原始的创意点。这部分大略的设计一下数据库,把功能理清楚。以及后续如果要添加东西,该如何添加。注意,页面设计永远不是个人开发的名列前茅步,功能才是。(当然如果你精通设计而且能够一开始就能出设计稿当我没说。)
第二 步就是打算采取什么技术来做,因为是个人的项目,技术的采取是为了节省后续开发的工程量。再就是数据库的选取。
第三步就是先撘主界面(或者只有后台页面搭建后台主页面)。怎么搭?平时ember积累的东西能够用上了,平时codepen学到的特效可以上了,静态页面首页必须搭的很完整。也就是说,这个不应该后面返工的。因为自己不擅长设计和布局,所以借鉴优异的作品无可厚非。如果你仅仅只是为了把功能做出来,那么你可以直接用开源的模板或者自己买的模板抄抄抄。
第四步 应该是基础功能与数据库对接。这个部分分为先做数据库最简单的。比如我要做用户注册登陆,那么数据库只放一张表。里面只有基础的几个字段。然后应该把功能和这个基础的对接上。比如我用Mongdb来做,那么我就先把Schema这些先设计一个简单的,后续需要填充我直接加进来就好了。在这一步中你会突然发现之前设计的数据库结构不合理(往往都是这个时候发现),那么就改改改。基础的对接了。然后你要测试,你要把前端那部分抽象出来。以备下一个自己的项目用。
第五步 这一步就是在基础功能上开始扩展,扩展一个新功能,一个页面一个数据表慢慢搭,主结构已经固定了,你剩下就是慢慢扩展,至于RESTful API接口 这个就是简单的数据库处理,个人项目要的就是简洁,你能够用最简单的办法做出来名列前茅个雏形就行了。
第六步 “返工”,这个是看个人,我平时写功能的时候往往图快,并没有考虑后续的一些东西。这个时候就是慢慢将东西抽象出来,然后一个个慢慢修改,改调用注释。(平时已经在开发时有写注释的习惯)。
延伸阅读:
二、应用架构设计原则
1、稳定性原则
一切以稳定为中心;架构尽可能简单、清晰;不过度设计。
2、接耦/拆分
稳定部分与易变部门分离;核心业务与非核心业务分离;电商主流程与辅流程分离;应用与数据分离;服务与实现细节分离。
3、抽象化
应用抽象化:应用只依赖服务抽象,不依赖服务实现细节、位置;
数据库抽象化:应用只依赖逻辑数据库,不需要关心物理库的位置和分片;
服务器抽象化:应用虚拟化部署,不需要关心实体机配置,动态调配资源。
4、松耦合
跨域调用异步化,不同业务域之间尽量异步接耦。
猜你喜欢LIKE
相关推荐HOT
更多>>mysql怎么查看连接池是否已满?
一、mysql怎么查看连接池是否已满1.查看连接数配置(MySQL服务器允许的最大连接数16384)show variables like ‘%max_connections%’2.查看当前...详情>>
2023-10-17 21:20:19什么是职场情商,如何提高?
什么是情商?情商是一个 20 世纪 90 年代作为学术话题出现的概念,并迅速成为商业心理学和职场动态研究的重要组成部分。它通常被称为 EQ(情商...详情>>
2023-10-17 20:16:30vector, list, map等容器使用场合是什么?
一、vector, list, map等容器使用场合vector适用于对象简单,变化较小,并且频繁随机访问的场景。list适用经常进行插入和删除并且不经常随机访...详情>>
2023-10-17 19:45:03数据挖掘中涉及的关联规则在实际生活中的应用有哪些?
一、数据挖掘中涉及的关联规则在实际生活中的应用关于关联规则分析,这篇文章可以认真学习一下,讲的比较全面,关联规则分析还在零售、快消、电...详情>>
2023-10-17 18:40:06热门推荐
sql server2012r2所在服务器做端口限制,需要开放什么端口才能继续访问数据库?
沸Oracle有什么优势和劣势?
热数据库聚集索引非聚集索引实现上有哪些区别?
热数据库(如oracle、mysql)及编程语言(php、python、perl、lisp)的区别?
新CSS 隐藏页面元素有哪些方法?
除了cx_Oracle,python还可以通过什么方式访问Oracle数据库?
SQL开启事务处理的语句 START TRANSACTION 和BEGIN TRAN的区别?
Android适配你需要学习哪些?
开发web应用,好的开发流程是怎么样的?
为什么说Gradle是Android进阶绕不去的坎?
mysql怎么查看连接池是否已满?
WHERE中有很多IN判断怎么提速?
软件开发要遵循哪些事项?
有了innodb buffer pool为什么要有redis?