《Maven 实战》之简单的账户注册服务

1 简介

 像很多书一样,《Maven 实战》也采用案例来说明Maven的概念和含义,在本书的第四章晓斌为我们提出了一个可以较为广泛的使用Maven来帮助我们的项目,简单的账户注册服务,注册互联网账号是日常生活中再熟悉不过的一件事情。

2 需求阐述

 日常注册账户的流程大体相同,注册时需要用户提供的信息如下:
在这里插入图片描述
 账号的ID和email用来唯一标识某个账户,注册的时候需要用户输入两次密码,以确保没有输出。系统需要负责ID和email的唯一性。验证码由系统随机生成的只能由肉眼识别内容的图片,可以防止机器恶意批量注册。

3 界面原型

在这里插入图片描述
可以从上面简单的html页面查看简单的注册逻辑。

4 简要设计

 我们把页面看成一个整体,然后把账户注册服务看成一个整体,从页面上我们需要调用的是那些注册服务所提供的功能呢?

  1. 页面要能产生验证码(key和img)。
  2. 注册
  3. 在邮箱中点击激活时(通过在邮件中直接调用服务,传入验证码和连接)
  4. 登录(注册成功,直接登录)
    需要理解的是激活接口,激活的场景是当用户点击确认并提交之后,由系统向email发送一封邮件,在给邮件中提供了调用接口的url和需要提供的参数(通常是几位验证码)

4.1 接口

 在p49可以看到如下的服务,使用计算机语言来阐述上述的简要设计。
在这里插入图片描述
 generateCaptchaKey()和generateCaptchaImage(captchaKey: String)简单的解释验证码的生成。每个Captcha都需要一个key,根据这个key,系统才能得到对应的验证码图片以及实际值。因此在实际工作中,页面首先调用generateCaptchaKey产生一个key,然后由generateImg方法得到对应于该key验证码图片。验证码的key以及验证码图片被传送到客户端,用户肉眼识别再输入验证码的值,伴随着key一起传送到服务器进行验证,服务器根据这个key查到正确的验证码值,然后与客户端传来的值进行比对验证。

4.2 模块结构

 系统核心的接口如上所述,基于功能分割和方便复用的原则,再对系统进行进一步划分。
 虽然这个小服务很简单,但在书中正是基于一个这样的与具体项目相似的,多模块的系统来演示Maven的特性,同时又不会产生过于庞大的系统代码,避重就轻,抓出主要的重点,自然全书的重点是Maven,案例只是辅助理解Maven的特性而已。
在这里插入图片描述
 从上图可以看到account.service为系统的核心,封装了所有下层细节,对外暴露简单的接口。
各模块的作用如下:
在这里插入图片描述
 通过全书,可以看到email,captcha,persist这些分别都是Maven项目,并且service依赖这三个模块,其中每个模块分别都是一个Maven项目,三个Maven项目均可以产生由groupId,artifactId,version标记的构件,通过部署到本地仓库或者私服之后,供其他的Maven项目使用。需要尤其关注的是多模块Maven的pom文件怎么编写,存在组合和集成的pom如何编写?如何导入外部库到Maven项目中。这些具体的问题,在实践本书内容的过程中,都能找到比较好的答案。

5 总结

 文档简要的概述了Maven实战所使用的背景案例的需求概述和简要设计,界面原型以及职责划分,随后的内容则是逐渐丰富该案例,不断的使用Maven的技术来实现这个账户注册服务,从过程中体会Maven的使用和优点。

											20196411:27:31于中电28
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值