1. 程式人生 > >業務軟體的本質,超越CRUD

業務軟體的本質,超越CRUD

經常寫業務軟體的開發會吐槽crud沒有技術含量,想學新技術,但是學完新技術會發現又進入了crud的迴圈(學完mq發現只會傳送和接收訊息,學完redis發現只會讀寫快取,學完zookeeper發現只會操作node節點)。這種現象產生的原因是什麼的?因為你的關注點一直是邏輯,而不是儲存。
一個業務軟體本質由兩個部分組成:業務資料+業務邏輯,這有點像是面向過程=資料結構+演算法,這道出了軟體開發本質。
業務資料層本質就是資料儲存,storage,從組成形式來說,分為記憶體和磁碟,這就劃分了資料儲存技術,data container,data store,data base,業務資料的價值和重要性決定了儲存的技術選型。
這裡只是一種簡化認識~
業務軟體的本質,超越CRUD

業務邏輯層本質就是對資料操作,compute,就是crud,我加一條:mapping(convert),不同層間的對映,不同系統間的對映。分散式的邏輯有map-reduce,fork-join。如果公司對儲存層的api封裝的足夠好,那麼就可以專注於業務邏輯了。作為個人不能止步於此,作為公司要專注於業務,產品。

很多分散式技術的應用與選型,大多來自資料層的選型,擴縮性,高可用,高效能的難點也集中在了資料層。因為資料層有狀態,邏輯層一般無狀態的,但是具體操作可能是狀態的。