丨一起練習(xí)手把手帶你分解任務(wù)_第1頁(yè)
丨一起練習(xí)手把手帶你分解任務(wù)_第2頁(yè)
丨一起練習(xí)手把手帶你分解任務(wù)_第3頁(yè)
丨一起練習(xí)手把手帶你分解任務(wù)_第4頁(yè)
丨一起練習(xí)手把手帶你分解任務(wù)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

用戶(hù)名和是哪來(lái)的呢?它們可能是用戶(hù)設(shè)置的,也可能是由系統(tǒng)管理員設(shè)置的。這里我們就把它們簡(jiǎn)單設(shè)定成由用戶(hù)設(shè)定。另外,有用戶(hù)登錄,一般情況下,還會(huì)有一個(gè)退出的功能。好了,這才是一個(gè)簡(jiǎn)單而完整的需求。我們就不做進(jìn)一步的需求擴(kuò)展。假設(shè)我們就是拿到這個(gè)需求列表的程序員,要進(jìn)行開(kāi)發(fā)。我們先要分析一下要做的事情有哪些,也就是任務(wù)分解。到這里,你可以先暫停一會(huì),嘗試自己分解任務(wù),之后,再來(lái)對(duì)比我后面給出分解的結(jié)果,看看差異有多少。這時(shí),需要確定這兩個(gè)任務(wù)自己是否知道怎么做。設(shè)計(jì)表,一般熟悉SQL的人都知道怎么就把還不完全明確的內(nèi)容加到任務(wù)里。REST數(shù)據(jù)層,在不同的項(xiàng)目里面叫法不一,有人從J2EE年代繼承下來(lái)叫DAO(數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象,DataAccessObejct),有人跟著Mybatis叫mapper,我現(xiàn)在更傾向于使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的術(shù)語(yǔ),叫repository。資源層,提供API接口,包括外部請(qǐng)求的檢查。比如,第一部分就是一個(gè)完整的用戶(hù)過(guò)程,先寫(xiě)User,然后是UserRepository的saveUserServiceregisterUserResourceregister方法。等這個(gè)需求開(kāi)發(fā)完了,才是login和logout。register只是一個(gè)在數(shù)據(jù)庫(kù)中對(duì)象的過(guò)程,沒(méi)問(wèn)題,但login和logout呢REST這里我們就采用最常見(jiàn)的解決方案:用Redis共享數(shù)據(jù)。登錄成功的話(huà),就需要把用戶(hù)的Session信息放到Redis里面,退出的話(huà),就是刪除Session信息。在我們的任務(wù)列表里,并沒(méi)有出現(xiàn)Session,所以,需要引入Session的概念。任務(wù)調(diào)整如下。如果采用Redis,我們還需要決定一下在Redis里對(duì)象的方式,我們可以用原生的Java序列化,但一般在開(kāi)發(fā)中,我們會(huì)選擇一個(gè)文本化的方式,這樣起來(lái)更容易。這里選擇常見(jiàn)的JSON,所以,任務(wù)就又增加了兩項(xiàng)。登錄,通常是要限定用戶(hù)一些資源,所以,我們還需要一些控制的能力。簡(jiǎn)單的做法就是加入一個(gè)filter,在請(qǐng)求到達(dá)真正的資源代碼之前先做一層過(guò)濾,在這個(gè)filter里面,如果待的地址是需要登錄的,我們就看看用戶(hù)是否已經(jīng)登錄,現(xiàn)在一Token,這個(gè)TokenHTTPToken是可以繼續(xù)擴(kuò)展的。比如:用戶(hù)Session過(guò)期、用戶(hù)名格式校驗(yàn)、加密保存以及刷新用戶(hù)Token等等。我不會(huì)。因?yàn)槿蝿?wù)分解我在之前已經(jīng)訓(xùn)練過(guò)無(wú)數(shù)次,已經(jīng)習(xí)慣怎么一步一步地把事情做完。換句話(huà)說(shuō),任務(wù)雖然我沒(méi)寫(xiě)下來(lái),但已經(jīng)在我腦子里了。不過(guò),我會(huì)把想到的,但容易忽略的細(xì)節(jié)寫(xiě)下來(lái),因?yàn)槿蝿?wù)的主要作用是備忘錄。一般另外,對(duì)比我們?cè)诜纸膺^(guò)程中的順序,你會(huì)看到這個(gè)完整任務(wù)的順序是調(diào)整過(guò)的,你可以按照這個(gè)列表中的內(nèi)容一項(xiàng)一項(xiàng)地做,調(diào)整最基本的標(biāo)準(zhǔn)是,按照這些任務(wù)的依賴(lài)關(guān)系以及前面提到的“完整地實(shí)現(xiàn)一個(gè)需求”的原則。最后,我要特別強(qiáng)調(diào)的一點(diǎn),所有分解出來(lái)的任務(wù),都是獨(dú)立的。也就是說(shuō),每做完一個(gè)任務(wù),代碼都是可以提交的。,我們才可能做到真正意義上的小步提交。最后,請(qǐng)你一下,你的任務(wù)和我的任務(wù)有哪些差異呢?歡迎在留言區(qū)寫(xiě)下 歸科技所有 不得售賣(mài)。頁(yè)面已增加防盜追蹤,將依法其上一 14|大師級(jí)程序員的工作秘下一 16|為什么你的測(cè)試不夠好言言 15 老師的一條回復(fù)我覺(jué)得很有啟發(fā)啊:“不忙的時(shí)候你知道該怎么做嗎?”首先是意識(shí)問(wèn)劃時(shí) 北天魔 2白目 HmmOne 1 式進(jìn)行分解.比如,要實(shí)現(xiàn)接口,需要 赫伯 用流程圖把存在依賴(lài)的任務(wù)可視化,好像可行紅糖白 有遺漏 /2018/09/21/users-considered-harmful/? "鄭老師的拆分

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論