最近跟一個師兄吃飯,聊到他在微軟的工作,感嘆超過1萬人維護了30年的office軟件,不得不說,一個軟件,能夠在如此多平臺,如此多歷史版本中還能不斷地迭代,還能把兼容性做得如此之好真是不容易。聊到一些中美程序員的差異,中國的互聯網公司大多追求短平快,大部分地程序員并非軟件工程專業出生,軟件工程在大學也是一門比較無足輕重地必修課。但在國外,很多公司會給你充足的時間,讓你慢慢把軟件做好,做好的最重要一點,便是可維護。無論你的設計有多么巧妙,算法有多么高深,這些都不是好代碼的標準,好的代碼是可以給一個團隊不停地維護,迭代中,不輕易出現混亂與差錯。
編程這個行業在我國盛行,也不到20年的歷史,真正流行并快速發展的,也只有最近十年。以往在大多數公司里面,開發的規范比較少,大家各成一派,有著自己的風格,不過這幾年,國內的一些開發規范慢慢盛行起來。今天我們來簡單聊一聊阿里巴巴推出的JAVA開發規范中的服務分層。
業務分層在我們的開發中非常的常見,好處也是非常多,首先是業務分層讓分工更加明確,邏輯更加清晰,更好地進行維護。其次業務分層可以讓代碼更加容易復用,舉個簡單例子,我們通常會把跟數據庫交互的代碼收攏到一個DAO層,如果你不這么做,會有什么問題呢?假如某一天我們對表結構進行表更,新增或者替換了字段,我們可能要修改非常多處的代碼,令人頭疼。最后是讓業務更加容易擴展,那一層有性能問題,我們可以針對那一層該加機器就加機器,該優化就進行優化。
在業務邏輯層,會處理通用的業務,例如電商系統中的交易成單接口,會調用商品,優惠,會員等多個子系統,完成成單服務。在業務邏輯層中,一些通用的業務會被抽象出來,放到Manage層,我們還是舉電商交易成單的例子,我們有一個訂單查詢接口,但是這個查詢接口不太想去理解太多業務邏輯,例如交易的類型,業務方,訂單的狀態等等,可以由Service層去理解這些邏輯,然后調用Manage層對應的查詢接口。Service層接口與Manage層都可以訪問后方的DAO層,DAO層主要負責與數據庫交互,不理解業務邏輯。
所以,我們在開發項目的過程中,雖然不用完全按照這個規范,但也至少也把項目分成若干個層次,這樣,才能讓代碼更容易閱讀與維護。
-
JAVA
+關注
關注
19文章
2973瀏覽量
104907 -
編程
+關注
關注
88文章
3633瀏覽量
93855 -
阿里巴巴
+關注
關注
7文章
1617瀏覽量
47345
發布評論請先 登錄
相關推薦
阿里巴巴出售高鑫零售股權,聚焦核心業務
阿里巴巴將在美國推出AI電商工具PIC COPILOT
阿里巴巴國際站首推全流程AI產品
阿里巴巴完成雙重主要上市
阿里巴巴季報出爐 阿里云二季度營收增長6%
阿里巴巴AI賦能海外擴張新篇章
阿里巴巴投資逐際動力,深化智能機器人布局
阿里巴巴集團2024財年穩健增長
阿里巴巴杭州全球總部正式啟用
阿里巴巴重返中國頂級電商軌道
阿里巴巴漲超3% 財報或超預期
軟銀子公司確認減持阿里 阿里巴巴最大股東易主
軟銀已完成減持阿里巴巴股份
馬云大幅增持阿里股票 馬云取代軟銀成為阿里巴巴最大股東
鐳神智能入選阿里巴巴諸神之戰2023年度智能制造賽道之星

評論