码迷,mamicode.com
首页 > 其他好文 > 详细

maven实战第九篇_09_yucong_背景开发案例:注册用户

时间:2016-03-20 13:00:44      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

1 注册用户用例

主要场景

1 用户访问注册页面

2 系统生成验证码图片

3 用户输入想要的ID,Emial地址,想要的显示名称,密码,确认密码

4 用户输入验证码

5 用户提交注册请求

6 系统检查验证码

7 系统检查ID是否已经被注册,Email是否已经被注册,密码和确认密码是否一致

8 系统保存未激活的账户信息

9 系统生成激活链接,并发送至用户邮箱

10 用户打开邮箱,访问激活链接

11 系统解析激活链接,激活相关账户

12 用户使用ID和密码登陆

 

扩展场景

4a:用户无法看清验证码,请求重新生成

    1.跳转到步骤2

6a:系统检测到用户输入的验证码错误

  1.系统提升验证码错误

  2.跳转到步骤2

7a:系统检测到ID已被注册,或者Email已被注册,或者密码和确认密码不一致

  1.系统提示相关错误信息

  2.跳转到步骤2

 

2 界面原型

技术分享

 

3 简要设计

3.1 接口定义

系统对外的接口包括:

生成验证码图片

处理注册请求

激活账户

处理登陆

技术分享

 generateCaptchaKey()和generateCaptchaImage()方法,对于Captcha的简单解释就是验证码。

每个Captcha都需要有一个key,根据这个key,系统才能得到对应的验证码图片以及实际值。

 

3.2 板块结构

定义了系统核心的接口之后,基于功能分割和方便复用的原则,再对系统进一步进行划分。

这里基于包名划分模块,这也是在java中比较常见的做法。

账户注册服务的模块划分如图:

技术分享

现在逐个解释一下各个模块(包)的作用:

com.juvenxu.mvnbook.account.service

系统的核心,它封装了所有下层的细节,对外暴露简单的接口。这实际上是一个facade模式。

com.juvenxu.mvnbook.account.web

该模块包含了所有与web相关的内容,包括可能的JSP,Servlet,web.xml等,它直接依赖于com.juvenxu.mvnbook.account.service模块,使用其提供的服务。

com.juvenxu.mvnbook.account.persist

处理账户信息的持久化,包括增,删,改,查等,根据实现,可以基于数据库或者文件。

com.juvenxu.mvnbook.account.captcha

 处理验证码的key生成,图片生成以及验证等,这里需要第三方的类库来帮助实现这些功能

com.juvenxu.mvnbook.account.email

处理邮件服务的配置,激活邮件的编写和发送等工作

 

小结:

开发流程如下:

账户注册服务的需求

大概的界面

简单的接口设计

模块的职责划分

 

maven实战第九篇_09_yucong_背景开发案例:注册用户

标签:

原文地址:http://www.cnblogs.com/yucongblog/p/5297424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!