首页 » Maven实战 » Maven实战全文在线阅读

《Maven实战》4.3 简要设计

关灯直达底部

4.3.1 接口

详细了解了这个简单账户注册服务的需求之后,就能勾勒出该系统对外的接口。从需求用例中可以看到,系统对外的接口包括生成验证码图片、处理注册请求、激活账户以及处理登录等。图4-3描述了系统的接口。

图4-3 注册账户服务系统接口

首先需要解释的是generateCaptchaKey()和generateCaptchaImage()方法,对于Captcha的简单解释就是验证码。每个Captcha都需要有一个key,根据这个key,系统才能得到对应的验证码图片以及实际值。因此,generateCaptchaKey()会生成一个Captcha key,使用这个key再调用generateImage()方法就能得到验证码图片。验证码的key以及验证码图片被传送到客户端,用户通过肉眼识别再输入验证码的值,伴随着key再传送到服务器端验证,服务器端就可以通过这个key查到正确的验证码值,并与客户端传过来的值进行比对验证。

SignUpRequest包含了注册用户所需要的信息,包括ID、email、显示名称、密码、确认密码等。这些信息伴随着Captcha key和Captcha value构成了一个注册请求,signUp()方法接收SignUpRequest对象,进行验证,如果验证正确,则创建一个未被激活的账户,同时在后台也需要发送一封带有激活链接的邮件。

activate()方法接收一个激活码,查找对应的账户进行激活。

账户激活之后,用户可以使用login()方法进行登录。