程序設計思路-球連球組成的羣

  編碼設計有很多思路,都是在簡化映射實際問題時遇到的問題。

  之前和別人交流,得到一句“把它放在同一個地方好維護”,相同的功能只出現在一個地方。就會出現代碼的聚合設計,也就是一種通用的功能索引,或者說面向對象的思想。

  首先程序可以被觀察成,計算、存儲、緩存、鏈接,這是代碼打交道的四個方面。由它組成了一個球連接球的程序,每一個球是一個緩存中的程序體。也就是代碼編寫時考慮運轉時候佔用的計算量,考慮分配的堆棧緩存和加載方式,考慮數據在球體之間的傳遞方式以及數據的存儲。計算量的預估需要知道代碼實現的底層邏輯,被解釋成的機器語言後會形成的工作效率,每種語言解釋的同一個邏輯的過程不一樣,生成的處理方式不一樣。堆棧的使用方式每種語言也有不同的處理和整理方式。等。

  球鏈接球的立體空間中,每個球代可以代表一塊大大小小的業務功能。他們就像實際業務中的部門和部門之間的協作,也可以是直接人和人之間的協作。每份業務被抽象成交給一個球和球連接的集體實現。每個細分的可聚合的功能做成一個球。球佔用的堆和棧的空間,代碼佔用、靜態變量佔用、棧裏線程方法棧的佔用以及堆裏對象數據的佔用,是球體的抽象大小。它會隨着訪問量的增大而延伸擴大,在抽象空間中,在一定擴大範圍內並不會影響球體之間鏈路的通信。如果被訪問量撐得容納不下,現存的虛擬程序內存通用大小不能承受,就考慮分割球體內的業務。在虛擬內存範圍內,可以優化功能的分配,統籌視角下管理各個編碼功能的責任歸屬。讓合適功能的代碼實現,分配到合適的球體上。

  這種球體的內存拓印,建立在合理設計編碼的基礎上。每一個功能除了可以實現本身,還會考慮可拓展和穩定性。比如重要訂單信息即使創建量大訪問快,也需要抵達底層數據庫的存儲。有些數據不是那麼重要,更多是一種臨時顯示,直接放在緩存中就可以,丟了也沒有很大影響。在立體的業務設計中,球體才能得到完善的表達。在業務角度它是連接業務各個小模塊的球,通過處理方式連接,就像做一份業務要跑好幾個場所,跑完一圈算是完成。在計算機硬件空間裏它也是一個球,能找到和業務視角一一對應的編碼、業務佔用的場地大小和同時可容納的訪問數量。

  球體考慮是清晰的、容易實現和編排的。球體在內存中的拓印就像把整個空間壓扁,然後把錯落的扁圓推擠到一個規則的長條裏。球體內的業務,和球體內的代碼實現在硬件中布排,是直接映射。

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