2019獨角獸企業重金招聘Python工程師標準>>>
???????由于面向過程式編程是大部分人一開始接觸到的編程方式,所以服務往往采用滿屏函數或者有甚者一函數搞定邏輯的代碼經常出現。結果是:服務后期的維護和增刪改查,都帶來了不少難度,只能對著空氣默念--搞死laozi了....
?????? 之前接手一個胚胎初期的服務(還未發布),服務大體過程是:定時去執行任務,任務負責調用其他業務1,業務2,...,業務n接口拉取數據,然后對獲取的數據進行處理,最后發送結果郵件。
??????
??????? 然后代碼竟然也是上面的邏輯圖一樣,處理邏輯大框里面全都扔到一個函數里面。隨著業務的增多,假定每個業務又有特殊邏輯,這函數注定只能是越來越大,主要是受面向過程式編程思維的影響。如果是從面向對象的角度出發,自然會去用接口去劃分業務邏輯,然后借助設計模式,使得系統易擴展、易維護。
???????
????????剛好后面進行了幾次服務的修改,增加調用業務接口,并且對該接口返回的數據進行處理,都能封裝到該類中,邏輯清晰;還有就是對dealer的處理,改用其他接口,換異步都不成問題。有了系統圖,實現起來就是敲代碼寫業務邏輯,別看下圖類很多,里面代碼都不足200行,不過度封裝,easy好多。
???????
服務化接口是什么、???????
?
?
?
??