模 塊 復 用
原本還要測試一會的,突然出現一連串詭異的問題,比如,編譯少加載個類啊,輸入地址少個字母啊,改幾行代碼一改就是半小時啊。這是在提醒我們大腦疲倦了,所以果斷小結,下次繼續。這一次簡單完成了一個復用性功能模塊,用戶模塊。程序,是為了解決問題的,那么用戶模塊解決了什么問題呢?對用戶而言,用戶注冊,用戶登錄,用戶應用;對管理者而言,用戶權限;對商人而言,用戶篩選,用戶定位,用戶......用戶都快被玩壞了,比如多系統單點登錄sso,對用戶有好處,商業價值不可估量。所以,每一種技術的出現,必然是因為產生了新的社會需求,商業需求尤其明顯。多找商業伙伴聊天,這是一件有趣的事情。
時間不早了,記錄下大致思路:
1、一個常用用戶級聯,公司-》部門-》職務-》員工,編寫四個實體類。
2、一個實體類,對應數據庫一張表,用sqldeveloper創建四張表。建表前,登錄system,(1)創建表空間,(2)創建一個新用戶,(3)賦予dba等權限,方便以后數據庫存儲備份導入導出。用創建的新用戶登錄,創建表格。
3、數據持久層,dao接口。查詢,將數據庫的相關數據復制一份到計算機內存。增加、修改,將計算機內存的相關數據寫入數據庫。刪除,刪除計算機內存的一個對象,刪除數據庫的一條數據。
4、數據持久層,dao實現類。用戶登錄(根據用戶名和密碼查找員工,返回一個員工對象,屬性和值)。用戶登錄是查詢操作,將數據庫的相關數據復制一份到計算機內存。
5、工廠設計模式。在數據持久層和業務邏輯層之間,做一個紐帶,方便更改接口實現方式,方便維護。
6、業務邏輯層接口和實現類,用於做一些有效性驗證的工作。比如,完成數據添加、修改和查詢業務等;不允許指定的文本框中輸入空字符串,數據格式是否正確以及數據類型驗證;用戶權限的合法性判斷等。
7、Junit4單元測試。邏輯是否合理?是否遺漏情況?類、方法、變量是否正常使用?參數是否正確書寫?......只要是人,都會犯錯。
8、控制層,邏輯層和表示層之間的紐帶。表示層對控制層說:我要取份數據。控制層沒有數據,於是對邏輯層說:我要取份數據。邏輯層回答:我這里有很多類型的數據模型,你得帶上需求類型選擇適合的。控制層表示毫無壓力:我設計個開關好了,表示層1來了,我給她數據模型1;表示層2來了,我給她數據模型2;表示層3來了,我給,等等,你的需求太特別了,我得找總部申請,給您私人定制。
9、web.xml配置。這個稍微有點復雜,后面用多了再做小結。
10、最高權限管理員dyl登陸。話說,想讓Google Chrome瀏覽器保存您的密碼嗎?保存密碼 or 此網站一律不保存密碼。在用戶界面上測試,一邊測試一邊修改,然后一連串詭異的事情相聚發生,我們的大腦里冒出了一連串的問號,哪里出問題呢?哪里出問題呢?哪里出問題呢?......
平時空閑時間修修補補,會把用戶模塊界面測試通過;1000個知識點收集的事情,竟然還沒有完成,三分之一,我們已經迫不及待想開發知識體的功能模塊了,一邊等待一邊多想想也是好的。下次,我們會考慮,(1)用框架修改控制層,(2)或者數據層,(3)或者寫一個實用的小功能模塊。OK,我們下次見。