开发web应用,好的开发流程是怎么样的?
一、开发web应用,好的开发流程
就个人开发自己小项目而言,我仅谈谈自己的做法,希望有所帮助。
名列前茅步自然是做mindmap,无论是在平板上做还是电脑上做,这个步骤大概就是积累原始的创意点。这部分大略的设计一下数据库,把功能理清楚。以及后续如果要添加东西,该如何添加。注意,页面设计永远不是个人开发的名列前茅步,功能才是。(当然如果你精通设计而且能够一开始就能出设计稿当我没说。)
第二 步就是打算采取什么技术来做,因为是个人的项目,技术的采取是为了节省后续开发的工程量。再就是数据库的选取。
第三步就是先撘主界面(或者只有后台页面搭建后台主页面)。怎么搭?平时ember积累的东西能够用上了,平时codepen学到的特效可以上了,静态页面首页必须搭的很完整。也就是说,这个不应该后面返工的。因为自己不擅长设计和布局,所以借鉴优异的作品无可厚非。如果你仅仅只是为了把功能做出来,那么你可以直接用开源的模板或者自己买的模板抄抄抄。
第四步 应该是基础功能与数据库对接。这个部分分为先做数据库最简单的。比如我要做用户注册登陆,那么数据库只放一张表。里面只有基础的几个字段。然后应该把功能和这个基础的对接上。比如我用Mongdb来做,那么我就先把Schema这些先设计一个简单的,后续需要填充我直接加进来就好了。在这一步中你会突然发现之前设计的数据库结构不合理(往往都是这个时候发现),那么就改改改。基础的对接了。然后你要测试,你要把前端那部分抽象出来。以备下一个自己的项目用。
第五步 这一步就是在基础功能上开始扩展,扩展一个新功能,一个页面一个数据表慢慢搭,主结构已经固定了,你剩下就是慢慢扩展,至于RESTful API接口 这个就是简单的数据库处理,个人项目要的就是简洁,你能够用最简单的办法做出来名列前茅个雏形就行了。
第六步 “返工”,这个是看个人,我平时写功能的时候往往图快,并没有考虑后续的一些东西。这个时候就是慢慢将东西抽象出来,然后一个个慢慢修改,改调用注释。(平时已经在开发时有写注释的习惯)。
延伸阅读:
二、应用架构设计原则
1、稳定性原则
一切以稳定为中心;架构尽可能简单、清晰;不过度设计。
2、接耦/拆分
稳定部分与易变部门分离;核心业务与非核心业务分离;电商主流程与辅流程分离;应用与数据分离;服务与实现细节分离。
3、抽象化
应用抽象化:应用只依赖服务抽象,不依赖服务实现细节、位置;
数据库抽象化:应用只依赖逻辑数据库,不需要关心物理库的位置和分片;
服务器抽象化:应用虚拟化部署,不需要关心实体机配置,动态调配资源。
4、松耦合
跨域调用异步化,不同业务域之间尽量异步接耦。
猜你喜欢LIKE
相关推荐HOT
更多>>siri的工作原理是怎样的?
Siri是苹果公司开发的一种智能个人助手,通过语音识别和自然语言处理技术,可以帮助用户完成各种任务,如发送消息、预定餐厅、调整日程等。那么...详情>>
2023-10-16 22:16:20Go的golang.org/x/系列包和标准库包有什么区别?
1、来源和维护不同golang.org/x/系列包:这个系列的包也被称为”Go扩展库”,是由Go团队和社区共同维护的。这些包并不包含在Go的发行版中,但是...详情>>
2023-10-16 21:03:28行动召唤(Call to Action)的基本设计原则是什么?
行动召唤,或者更常见的英文缩写CTA(Call to Action),是一种强制性的设计元素,旨在引导用户进行特定的行为。这些行为可能包括购买产品、注...详情>>
2023-10-16 19:31:00系统类型中的标准、VHD和VHDX是什?
系统类型中的标准、VHD和VHDX是什么系统类型中的标准、VHD和VHDX是指计算机系统中的不同类型和格式。标准系统类型是指常见的操作系统,如Window...详情>>
2023-10-16 18:39:06热门推荐
时间序列和回归分析有什么本质区别?
沸什么是敏捷开发之Scrum框架?
热Tornado的核心是什么?
热XP(极限编程)有哪些缺点?
新siri的工作原理是怎样的?
机器学习算法中GBDT 和XGBOOST 的区别有哪些?
Go的golang.org/x/系列包和标准库包有什么区别?
无线AP和无线路由器有什么区别?
C语言“悬空指针”和“野指针”是什么意思?
行动召唤(Call to Action)的基本设计原则是什么?
Access 与Excel 最重要的区别是什么?
系统类型中的标准、VHD和VHDX是什?
COOKIE和SESSION有什么区别?
为什么说Java不适合编写桌面应用?