日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

从一个需求看问题的无限复杂化和简单化

發布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从一个需求看问题的无限复杂化和简单化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個需求 如果你一開始的出發點就錯了,那么后續的設計只會非常復雜,而且還會有漏洞,也很難發現,發現了也很難解決。

先看數據結構:

A表 主鍵id? ?其他各種字段不重要? ,重要的就一個字段sort字段

aid1? ?sort=1

aid2? ?sort=1

---------------------

B表? A的關聯表 存A的id? ?還有就是C表的id

aid1? ?cid1

aid2? ?cid2

-------------------

C表? 某種數據

cid1

cid2

------------------

需求是:A表的sort在同一個cid下必須唯一

也就是某個sort例如是1被aid1和aid2占用,但是由于在B表他們是關聯不同的cid所以沒事,如果是同一個cid就不允許。

也就是你入庫的新增更新的時候要check.這個比較簡單,新增的cids和B表同sort關聯的cids比較 只要不一樣就行 ,只要有交集就返回false

Collections.disjoint

?

這里需要注意就是 你更新的時候 由于sort不變那么顯然是要允許的,這是自己和自己比較,這個時候要看新管理的B表我新增的cid有沒有被占用

?

最簡單的做法是拿sort在A表查aid ,然后拿aids在B表查一個List<B>

再對List<B>遍歷,如果aid=更新的aid那么忽略 說明是自己

如果不是? 那么看cid=更新的時候傳遞的cid,只要有命中那么說明就有重復的? 就返回false

將更新的cids轉為一個set就行了。

?

這個問題 如果不是這樣做的 嘗試其他辦法組建各種list然后去重組合各種玩法就復雜了。

?

這題可以思考下。

?

總結

以上是生活随笔為你收集整理的从一个需求看问题的无限复杂化和简单化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。