入職安居客三年從工程師到Team Leader,見證了Android團隊一路走來的發(fā)展歷程。因此有心將這些記錄下來與大家分享,也算是對自己三年來一部分工作的總結(jié)。希望對大家有所幫助,更希望能得到大家寶貴的建議。

一、三網(wǎng)合并

三年前入職時安居客在業(yè)務(wù)上剛完成了三網(wǎng)合并(新房、二手房、好租和商業(yè)地產(chǎn)多個平臺多個網(wǎng)站合成現(xiàn)在的anjuke.com,這在公司的歷史上稱之為三網(wǎng)合并),因此app端也將原先的新房、二手房、好租和商業(yè)地產(chǎn)多個app合并成為了現(xiàn)在的安居客app。所謂的合并也差不多就是將多個項目的代碼拷貝到了一起組成了新的Anjuke Project。下面這張圖能更加直觀的呈現(xiàn)當時的狀況。

電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓這一時期代碼結(jié)構(gòu)混亂、層次不清,各業(yè)務(wù)技術(shù)方案不統(tǒng)一,冗余代碼充斥項目的各個角落;甚至連基本的包結(jié)構(gòu)也是胡亂不堪,項目架構(gòu)更是無從談起。大家只不過是不停地往上堆砌代碼添加新功能罷了。于是我進入公司的第一件事就是向Leader申請梳理了整個項目的結(jié)構(gòu)。

而后隨著項目的迭代,我們不斷引入了Retrofit、UniversalImageLoader、OKHttp、ButterKnife等一系列成熟的開源庫,同時我們也開發(fā)了自己的UI組件庫UIComponent、基礎(chǔ)工具庫CommonUtils、基于第三方地圖封裝的MapSDK、即時聊天模塊ChatLibrary等等。這之后安居客項目架構(gòu)大致演變成了由基礎(chǔ)組件層、業(yè)務(wù)組件層和業(yè)務(wù)層組成的三層架構(gòu)。如下圖:

 電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓其中業(yè)務(wù)層是一種非標準的MVC架構(gòu),Activity和Fragment承擔了View和Controller的職責:

 電腦培訓,計算機培訓,平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓學習是年輕人改變自己的最好方式