文档章节

软件-URL地址设计

Clarence_D
 Clarence_D
发布于 2017/05/08 17:39
字数 1293
阅读 12
收藏 0

首先咱们来简单描述下场景,在进行URL地址的设计以及基础概念的巩固加深。

 

一、需求分析

       (1)、当前用户进度“客户管理”模块是,可通过列表方式来查看所有客户。

       (2)​、可通过“客户名称”关键字进行模糊查询。

       (3)​、单击客户列表中的“客户名称”连接,可查看客户基本信息。

       (4)​、单击“新增按钮”,进入“新增客户”界面,可新增客户基本信息。

       (5)​、单击客户列表中的“编辑”按钮,进入“编辑客户”界面,可更新客户基本信息。

       (6)​、单击客户列表中的“删除”按钮,可删除当前所选择的客户,需提示是否删除。

 

由以上信息我们可以得出用户希望我们提供一个“客户管理”模块,其中包含了对客户的新增、修改、删除、查询等功能。(需求分析是一件很复杂的过程,再次不做过多介绍。有兴趣的朋友可以自行查阅资料学习。)

二、设计表结构​

 

  customer表结构

 字段名  数据类型  是否为空  字段描述
 pk_id INT √   ID(自增主键)
 name VARCHAR(255)   √   客户名称
 contact  VARCHAR(255)   √  联系人 
 telephone VARCHAR(255)    —  电话号码
 fk_org_id  VARCHAR(255)   —  部门ID(外键)
 remark  TEXT  —  备注

 

       关于表结构的设计,有如下建议:

  • 建议表名与字段名均为小写,若多个 单词可用“下划线”分割,长度控制在15个字节以内;
  • 建议每张表都要有唯一的主键字段,且字段名都为pk_id,可使用自增长主键。
  • 建议所有的外键表id都以fk+表名+id,区分主外键关系。
  • 数据类型尽可能统一,不要出现太多的数据类型

三、设计原型页面

 

使用Axure软件,我们可以快速的画出原型界面。

还有其他相关界面在此没有一一举例列出,如:查看客户、创建客户、编辑客户等,这些都需要在设计文档中提现出来(个人喜欢叫WBS或需求文档)。

 

四、设计URL地址

 

终于到咱们关注的主题了,通过界面质检的跳转与操作,我们可以分析出以下URL

 

 URL  描述
GET:/customer 进入“客户列表”界面
POST:/customer_search 查询客户 
GET:/customer_show?id={id} 进入“查看客户”界面
GET:/customer_create 进入“创建客户”界面
POST:/customer_create 创建客户
GET:/customer_edit?id={id}  进入“编辑客户”界面
PUT:/customer_edit?id={id} 编辑客户
DELETE:/customer_delete?id={id} 删除客户

 

  1. POST /uri 创建  
  2. DELETE /uri/xxx 删除   
  3. PUT /uri/xxx 更新或创建  
  4. GET /uri/xxx 查看  
  • GET:操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。当然,你可能说每浏览一次文章,文章的浏览数就加一,这不也改变了资源的状态么?这并不矛盾,因为这个改变不是GET操作引起的,而是用户自己设定的服务端逻辑造成的。
  • PUT、DELETE:操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。顺便说一句,因为GET操作是安全的,所以它自然也是幂等的。
  • POST:操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。

 

 方法  是否安全  幂等
 GET  是   是
 PUT  否   是
 DELETE  否   是
 POST  否   否

 

安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。(由于这块设计到了uri,今后会在写一篇关于URI、URL、URN之间的区别)

 

幂等:是一个数学或计算机学概念,常见于抽象代数中。幂等有一下几种定义:

  • 对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。
  • 对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等,即max(x,x) = x。

© 著作权归作者所有

共有 人打赏支持
下一篇: java-基础类型
Clarence_D
粉丝 9
博文 136
码字总数 107352
作品 0
天津
程序员
私信 提问
RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/7979370 RDIFramework.NET ━ .NET快速信息化系统开发框架 4.2 平台自动升级模块...

rdiframework
2012/09/14
0
0
Python3网络爬虫(八):爱奇艺等主流视频网站的VIP视频破解(在线观看+视频下载)

版权声明:本文为博主原创文章,未经博主允许不得转载。个人网站:http://cuijiahua.com。 https://blog.csdn.net/c406495762/article/details/71334633 转载请注明作者和出处:http://blog...

Jack-Cui
2017/05/07
0
0
在ASP.NET中自动给URL地址加上超链接

作为一个程序员,在完成设计后还要根据程序的情况以及用户的反映不断对程序进行改进,这样才能不断地完善自己的作品。我在制作完软件商务网 http://www.bizsofts.com 的论坛后,发现人们总喜...

晨曦之光
2012/03/09
80
0
微信公众号开发C#系列-2、微信公众平台接入指南

概述 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理...

NET快速开发框架
03/29
0
0
【CF 应用开发大赛】自定义收藏夹 && 小便笺 && 个人笔记

应用URL地址:http://sunlight.cloudfoundry.com (默认账号—用户:friends、密码:loveyou) 应用名称:自定义收藏夹 && 小便笺 && 个人笔记 (因为啥都不像,所以很难取名字) 应用说明及...

水牛叔叔
2013/01/05
0
26

没有更多内容

加载失败,请刷新页面

加载更多

开启genelog

打开genelog genelog 可以记录数据库的操作语句。 首先进入mysql, mysql -u root -p 设置日志位置 set global general_log_file = "/tmp/general.log"; 设置全局global模式 set global gen......

狼王黄师傅
15分钟前
0
0
Java 帝国对 Python 的渗透能成功吗?哈哈

引子 Java 帝国已经成立20多年,经过历代国王的励精图治,可以说是地大物博,码农众多。 可是国王依然不满足,整天想着如何继续开拓疆土, 这一天晚上他又把几个重臣招来商议了。 IO大臣说:...

边鹏_尛爺鑫
今天
7
0
分布式事务解决方案框架(LCN)

什么是XA接口 XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口...

群星纪元
今天
7
0
linux 操作系统 常用命令和软件安装

1.系统时间更新 ntpdate time.windows.com 2.传送文件 rsync -av /home/data/a.dat -e ssh root@192.168.0.100:/home 3.传送文件夹 scp -r /home/data root@192.168.0.100:/home 4.JDK安装 ......

WJtiny
今天
3
0
pg_lightool基于basebackup的单表恢复和块恢复

开源软件pg_lightool,实现了基于wal日志的块恢复。详情参见博客:https://my.oschina.net/lcc1990/blog/1931485。由于wal日志中FPW的不确定性,它不能作为一个数据库恢复的解决方案。目前对...

movead
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部