做爲後端最經常使用的編程語言之一,Java 已經有不少年的歷史了,在阿里內部,Java 也是使用最普遍的一門語言。在阿里實習的這段時間,規範一詞是我感覺最深的。沒有規矩不成方圓,今天來講一下 Java 中的各類 O(bject)。前端
咱們知道,這些 O 無論叫什麼名字,其本質都仍是對象(Object),既然本質都同樣,爲何非要給他們套上各類馬甲? 我的認爲緣由有三: 第一,隨着編程工業化的發展,須要有一套合理的體系出現。中國人喜歡造神,外國人喜歡造概念,因而 MVC、MVP、MVVM 等編程模型就出現了,爲了搭配這些編程模型的使用,須要對 Object 的功能進行劃分,因而咱們便看到了這些層出不窮的 Object。固然這裏並無批評這些概念的意思。 其二,我認爲在團隊協做編碼中,一個好的命名方式是能夠節約不少時間成本的。就好比getItemById
一眼看去就知道是經過 id 獲取一個 item 對象,ItemVO
一眼看去就知道是前端透出的 json 對應的對象。 其三,如此劃分,可讓項目結構更加清楚,不至於出現東一塊西一塊,對象亂扔的局面。儘量避免了在多人協做時對象混亂的狀況。 總的來講,這一切都是爲了讓軟件編程更加合理、更加規範、更加高效。web
這些 O 有不少衍生出的命名,好比 VO、DO、BO,這裏咱們把常見的 O 列舉出來,而後一一解釋。數據庫
如下內容參考阿里巴巴 Java 開發手冊,若是有須要能夠在微信公衆號「01 二進制」後臺回覆「Java 開發手冊」得到。編程
一會兒給出 8 個常見的 O,光看解釋你們可能會有些迷糊,接下來咱們從下面這張圖入手,帶你們直觀的感覺下,這些 O 的用處。json
咱們知道,通常狀況下,前端是不會憑空造出數據的,所以最後前端展現的數據必定是從數據庫中來的,數據的流向一般也是從數據庫流向頁面。我將其分紅三個部分:數據訪問、業務處理和業務解釋。後端
說了這麼多,咱們整理出如下關鍵點。微信
說了這麼多,在實際的項目中,咱們應該如何去使用這些 O?數據結構
首先,這幾個概念很完整,可是咱們在用的時候是必須按這個來作嗎? 答案固然不是的,規矩是死的,人是活的。文章開頭咱們就說了,之因此引入這些概念,很大程度上是爲了提高編程體驗,並且系統和系統的複雜度不一樣,協做水平不一樣,徹底沒有必要教條主義,適合本身的纔是最好的。編程語言
領域模型命名規約:編輯器
以上就是本篇文章的所有內容了,若是你以爲本篇文章對你有所幫助,不妨關注支持一下。
本文使用 mdnice 排版