Android:這是一個高級工程師的國慶充電規劃

前言

前不久剛結束對 20 模塊項目的第 3 輪重構,一路見證 MVC、MVP、Clean 的優缺點並形成自己的體會。

近期在總結工作經驗的同時,開始寫博客。

之所以將規劃放出來,一來是總結的過程中已經形成底稿,不如和大家一塊分享,各抒己見。二來粘貼布告,能有效督促自己執行。

Viabus 架構 的開源就是因爲有一天,和同事聊着聊着說要開源,結果就真的就做了。

高能.jpg

國慶規劃

由於 Viabus 對很多人來說,是個很陌生的東西,因此如果想讓更多人享受到,“合理而快捷” 的開發體驗,可不是一件簡單的事。

對此我想的招是,先在網上找個文藝小清新的項目,重構,然後掛在 Github 項目頁面 下方,這樣人們就願意嘗試,畢竟試錯成本超級小嘛。

在項目重構前,我需要利用國慶七天做一些準備工作。

技術堆棧.png

以上是我依據 “個人開發” 的順序流程而羅列的技術堆棧。

做過個人開發的一定知道,最頭疼的莫過於被一些非專業層面的事情打斷。例如如何設計一個好看的界面,這個頁面的視覺交互該如何如何。

推眼鏡.jpg

如果這些事情一開始沒有定好,那軟件開發根本無從開始。因爲如果沒有一個好看的界面,你都不會相信這個軟件能受人喜歡,首先自己就不相信、不喜歡。

再者,如果沒有一個既定的界面設計,那麼開發的過程中就會不斷的斟酌,反反覆覆,消磨了開發的熱情、拖延了進度。

因此想到的好招就是上述說的,重構市面上已有的產品。

軟件的本質

軟件的本質是數據的交互。數據是 app 的靈魂。

因而除了那些工具類軟件,多數軟件只有和後臺建立了連接,才能源源不斷的拿到數據和層出不窮的變換着展示。

所以第一個要掌握的就是 抓包

教程網上一搜一大把,鏈接我就不提供了。可以使用 Charles(Mac) Fiddler(Windows) 來完成抓包工作。

Charles.png

除此之外,過程中可能還要涉獵一番 http 協議和 TCPIP 體系結構。掌握它們的概念,都是會用的到的。

軟件重構的目標

軟件的本質是數據的交互。無論是多麼簡單還是複雜的軟件,都遵守這一定律。小到一個方法:輸入參數,返回結果,大到一個業務,一個模塊,輸入配置,返回結果。都是一個道理。

那麼軟件重構的目標,就是將不符合軟件本質定律開發的軟件,推倒重來,依據該定律來開發。

viabus_view_bus_business.png

在該定律的指導下,UI 和 業務 是完全分離的。UI 的職責僅限於請求數據和處理 UI 邏輯,業務的職責僅限於處理請求和返回結果。因此 UI 只負責 UI,它不需要知道業務是怎麼準備數據的,業務只負責數據,它不需要 UI 在拿到數據後怎麼使用怎麼處理。

剛好符合設計模式的6大原則。

因此,進一步說,軟件重構的目標,

一是使數據的交互標準化。底線是,數據配置和資源的存放位置,必須便於聯想。數據名稱的定義,必須規範化,不允許使用魔法值。

二是使數據的交互模式化。意思是,數據交互的雙方職責明確、職責邊界明確、獨立自主、互不干涉。

爲此第二步就是,查閱一下數據交互框架的源碼,對設計模式在 android 中的廣泛應用有所見證。

通用必用 Widget 的準備

磨刀不誤砍柴工,平日裏就要總結、歸類和封裝你在項目中必然會用的到的控件。例如列表、菜單、對話框等等。這樣在編寫新項目時,不會被打斷。

capture.gif

根據使用場景,我將控件分爲以下四類:

1.展示類。是那些供展示,不可編輯的控件。例如引導頁、信息展示頁。

2.提示類。像吐司、對話框等等,及時提醒用戶必要信息的手段。我們可以通過它們來增強軟件的表現力,以獲取用戶的信任。

3.導航類。就是點擊即可從此處跳轉到別處的控件。例如列表、按鈕等。

4.表單類。就是可以執行輸入、勾選等表單操作。

總結

以上就是國慶期間的規劃:

1.尋找文藝小清新項目,抓包,溫習http和TCPIP。

2.歸類和整理通用必用控件,供後期不斷封裝。

3.查閱數據交互框架的源碼,見證設計模式。

感謝你的閱讀,歡迎點贊評論督促我完成!

老司機.jpg

更多文章

Github : KunMinX / android-viabus-architecture
Android:四大架構的優缺點,你真的瞭解嗎?
Viabus - 年輕人的第一款架構

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