2020-05-18日總結

隨筆

今天初次接觸前端,vue+vscode進行前端開發,說實話我對前端不排斥,但是我不想現在搞前端。但是公司前端人少,我們寫後端的也要寫簡單的前端頁面

我今天只是初步接觸vue,還沒理清個大概,我同事搞了幾天的前端,今天卡在一個動態目錄上。(我們都是接觸很少的前段)

今天有趣的事情

  1. 對於動態目錄的數據庫設計,基本都是單表類,用一個parentId(父類id),進行關聯,這種數據庫設計師最簡單的這幾方法。

下面是簡單的設計

id  主鍵
catalog_name  目錄名稱
parent_id  父母目錄id
child_count  子目錄個數
depth  當前目錄深度

我接觸無限級目錄設計已經有兩次了,兩次設計都是這種方法,但是在準備中我找到了另一種數據結構。 motify preOrder tree 這種樹形數據結構來設計無限級目錄。
這種數據結構的優點就是查詢速度快,缺點就是開發實現比較困難,需要自己在業務層編寫複雜的代碼,並組合成多級目錄功能。

有空我會好好總結motify preOrder tree,將這種方法吃透,如果這種選擇更好,我會將它作爲自己的解決無限級目錄代碼庫。

  1. 遞歸方法的使用

個人感覺遞歸方法的使用真的可以精簡代碼,而且也會讓編程邏輯更加清晰。在操作多層是就要想到詆遞歸的思想,其實遞歸的思想來源於分治思想:如果一個問題能夠拆分成多個結構類似的子問題,那就可以使用遞歸。

遞歸方法的設計很關鍵的一點就是能不能找到遞歸結束條件,在我們平時寫遞歸函數是,第一行代碼基本就是遞歸出口(也就是遞歸結束條件)。

 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;
    }
  1. 使用BeanUtils.copyProperties(fromObject,toObject)

功能:將fromObject的字段值複製到toObject
這個方法很好用,解決我們很多不必要的代碼。但是有個小技巧,這兩個對象的字段數量可能不一樣,需要複製的字段名稱要一樣,這樣才能複製。有了和這個方法,就不需要我們一個一個的get() set() 方法了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章