不写容易出错的代码
下面2段代碼都是完成商品名稱的更新,只是第一種情況數(shù)據(jù)源是list第二種是map
第一代代碼是從List里獲取第0個
entity.setProduct_name(productList.get(0).getName());
第二段代碼從map里獲取鍵值
entity.setProduct_name(productMap.get(pid).getName()));
?
如果哪一天第一段代碼修改了? 然后忘記改第二段代碼這是一種容易犯錯的情況。
更多的是改了第一段代碼直接復(fù)制到第二段,也可以運行但是就錯了。
?
所以避免這種問題的出現(xiàn)你需要把這種get定義為一個對象,然后set的時候都一樣。
更好的是這2段代碼最好是封裝一個方法。
?
封裝技巧
ProuctDTO product=productInfoList.get(0);//list
ProuctDTO product=productInfoMap.get(pid);//map
因為這里不會隨便改變,改變的是下面的獲取里面的name等屬性。
這樣2段設(shè)置商品屬性的代碼都是:
entity.setProduct_name(product.getName());
?
所以封裝的核心思想是:減少差異,從2到1!
總結(jié)
- 上一篇: Spring @bean冲突解决方案
- 下一篇: show-busy-java-threa