於是就重新設計了資料庫,重新爬取了資料,重新設計了後台介面。
這次主要講這次重構的主要內容。
一共設計了六張表,分別為
段子表,主要存放每乙個段子的等資訊
使用者表標籤表,每條段子發表之前會自定義標籤,該錶存放的就是這些標籤
點讚記錄表,因為使用者點讚與段子之間是多對多的關係,因此要加一張表用來存放點讚記錄
段子標籤關聯表,因為段子和標籤是多對多的,因此需要多一張表存放關聯關係
橙色的為表,咖啡色為介面。
目前設計了十四個介面,上圖寫明了各界面和相關的表之間的關係。
bean包下為基本實體類;
implement包下為訊息實體類的子類;
dao包為涉及到資料庫的具體實現類;
servlet為介面類;
util為過程中用到的工具類。
下面以查詢段子介面為例,介紹具體的結構。
訊息實體類:
1段子訊息實體類:public
class
messageentity
1112
public
void
setreason(string reason)
1516
public
intgeterrorcode()
1920
public
void seterrorcode(int
errorcode)
2324 }
1段子實體類:public
class topicmessageentity extends
messageentity 910
public
void setresult(listresult)
1314 }
1這裡和資料庫表略有不同,主要是like欄位。public
class
topicentity
2627
public
void setid(int
id)
3031
public
string getauthor()
3435
public
void
setauthor(string author)
3839
public
string gettitle()
4243
public
void
settitle(string title)
4647
public
intgetupvote()
5051
public
void setupvote(int
upvote)
5455
public
intgetcommentcount()
5859
public
void setcommentcount(int
commentcount)
6263
public
string getthumbnail()
6667
public
void
setthumbnail(string thumbnail)
7071
public
string getorgpicture()
7475
public
void
setorgpicture(string orgpicture)
7879
public
string getposttime()
8283
public
void
setposttime(string posttime)
8687
public
intgetlike()
9091
public
void setlike(int
like)
9495 }
like欄位代表的是當前獲取資料的人對該段子是否點了贊。
查詢段子方法:
1public listquery(int topicid, int count, boolean
after) 78
if (count <= 0)
1112
if(after) else
1718
return
topiclist;
19 }
1private
void queryafter(int topicid, int count, listtopiclist)
26 } catch
(sqlexception e) finally
31 }
1這三個方法實現了查詢指定段子前(或者後)count條記錄。private
void querybefore(int topicid, int count, listtopiclist)
26 } catch
(sqlexception e) finally
3132
//獲取完資料之後逆序,因為查詢的時候是逆序
33collections.reverse(topiclist);
34 }
主要邏輯:查詢到需要的段子→遍歷段子→如果段子被點過讚或者踩,就把段子相應欄位更改為贊或者踩→由於查出來的資料時順序的,要改為逆序展示。
這次主要重構了後台的設計邏輯,其實還有好多不完備的地方。
通過這次重構,明白了乙個要點。要做一件事情首先要規劃好,首先是設計,把一切的流程,框架設計好之後按部就班的做。這樣做出來的東西才會比較好。
否則在過程中會很混亂,嚴重影響效率。
下一章準備講述點讚的邏輯,因為點讚的邏輯比較複雜。
tflite製作過程
bazel bin tensorflow contrib lite toco toco input file pwd facenet tmp ponet model.pb input format tensorflow graphdef output format tflite output fil...
關卡製作過程
主遊戲情節由主遊戲設計師完成,他們設計遊戲的情節,並將其分解成不同的關卡,而後他們會將工作成果寫入遊戲策劃案,他們的工作就此結束。而從關卡設計進入了乙個新的階段,新階段由關卡設計師完成,他們將根據主遊戲設計師編寫的策劃案去完成各種關卡的實際製作。1.確定目標 目標基於任務,要從多角度分析玩家完成目標...
reboot exe的製作過程
reboot.exe 的製作過程 程式設計工具 visual c net 2003 程式設計師 黃江斌 程式功能 關閉 重啟計算機 登出當前使用者。2005年8 月27日檔案 新建 專案,從中選擇 mfc mfc 應用程式 輸入工程名 reboot 應用程式型別 基於對話方塊。其它設定按預設。新增的...