1. 程式人生 > >淺談Android App架構

淺談Android App架構

一、什麼是架構

什麼是架構,我最初的理解,架構就是通過降低偶合性,提高安全性和擴充套件性,達到方便對軟體進行維護的一套行之有效的分層思想。在我看來架構最主要的就是降低偶合性和提高擴充套件性,我們平常對於客戶端的修改和重構也基本上是圍繞這兩個點而進行的。當然,這只是我個人的理解,為了怕自己理解太過片面,又在以下幾個權威網站,看了一下他們對架構的解釋:

  • 百度百科:軟體架構是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。
  • 維基百科:軟體架構是有關軟體整體結構與元件的抽象描述,用於指導大型軟體系統各個方面的設計。
  • 某位技術大牛:軟體架構就是軟體的基本結構。

其實總體說來,軟體架構就是軟體的基本結構,百度和維基說到抽象描述也基本上是這個道理。

二、特徵

一個好的軟體架構又基本上具備以下的特徵:

  • 維護性:一個好的軟體肯定是可以方便維護的,出了問題可以快速排查並修改,不會一改這個問題,又暴出另外的問題。
  • 耦合性:這個是我開發Android過程中體會最多的一個特性,開發過程中有看到一些類,同其它類的耦合性過於強,如果想改一個地方,需要考慮另一個類會不會受到影響,導致自己在做修改的時候總是提心吊膽。還有就是耦合性過強不利於快速定位問題所在,總得來說就是“做人要獨立,不要過於依賴”。
  • 擴充套件性:一個好的架構一定是很方便擴充套件的,既不要因為擴充套件而影響到其它,也儘量不要過多從其它地兒複製出程式碼,如果很多地方都會用到這些程式碼可以封閉出一個類。
  • 。。。。。。

三、總結

當然,構架的特性還有很多,但基本上都是說大型架構的,在平常Android客戶端開發中,最常用、體會最深的還是這幾個特性。客戶端比較常用的幾個架構,比如MVC、MVP也基本是圍繞“降低偶合性,提高擴充套件性和維護性”進行設計開發的。