讀古今文學網 > Maven實戰 > 4.3 簡要設計 >

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()方法進行登錄。