隨筆
今天初次接觸前端,vue+vscode進行前端開發,說實話我對前端不排斥,但是我不想現在搞前端。但是公司前端人少,我們寫後端的也要寫簡單的前端頁面
我今天只是初步接觸vue,還沒理清個大概,我同事搞了幾天的前端,今天卡在一個動態目錄上。(我們都是接觸很少的前段)
今天有趣的事情
- 對於動態目錄的數據庫設計,基本都是單表類,用一個parentId(父類id),進行關聯,這種數據庫設計師最簡單的這幾方法。
下面是簡單的設計
id 主鍵
catalog_name 目錄名稱
parent_id 父母目錄id
child_count 子目錄個數
depth 當前目錄深度
我接觸無限級目錄設計已經有兩次了,兩次設計都是這種方法,但是在準備中我找到了另一種數據結構。 motify preOrder tree 這種樹形數據結構來設計無限級目錄。
這種數據結構的優點就是查詢速度快,缺點就是開發實現比較困難,需要自己在業務層編寫複雜的代碼,並組合成多級目錄功能。
有空我會好好總結motify preOrder tree,將這種方法吃透,如果這種選擇更好,我會將它作爲自己的解決無限級目錄代碼庫。
- 遞歸方法的使用
個人感覺遞歸方法的使用真的可以精簡代碼,而且也會讓編程邏輯更加清晰。在操作多層是就要想到詆遞歸的思想,其實遞歸的思想來源於分治思想:如果一個問題能夠拆分成多個結構類似的子問題,那就可以使用遞歸。
遞歸方法的設計很關鍵的一點就是能不能找到遞歸結束條件,在我們平時寫遞歸函數是,第一行代碼基本就是遞歸出口(也就是遞歸結束條件)。
public boolean deleteById(String id) {
if(id.length()>0){
List<user> ids=findById(id);
UserMapper.deleteById(id);
ids.forEach(data->{
deleteById(data.getId());
});
}
return true;
}
- 使用BeanUtils.copyProperties(fromObject,toObject)
功能:將fromObject的字段值複製到toObject
這個方法很好用,解決我們很多不必要的代碼。但是有個小技巧,這兩個對象的字段數量可能不一樣,需要複製的字段名稱要一樣,這樣才能複製。有了和這個方法,就不需要我們一個一個的get() set() 方法了。