《Android應用程式框架原理學習筆記1》

來源:互聯網
上載者:User

1.理解兩個概念 抽象和衍生

抽象:從相似的事物中,抽取出共同點,得到相似的結構

衍生:以抽象結構為基礎,添加些其他功能,得到具體的事物。

2. 系統OS,架構,應用程式,使用者之間的關係

使用者操作一個軟體的時候,其實中間還隔了一層,那就是系統,例如,使用者點擊了螢幕上的一個按鈕,就會對螢幕產生物理感應,螢幕將這種物理感應交給系統os處理,系統產生相應的事件對象,交給架構處理,架構交給相應的程式,進行相應的處理,然後逆向的將對事件的動作反映在螢幕上。

應用程式是由架構進行管理的,例如Android上,activity的儲存,程式的開啟,結束,等等都是有架構進行管理的。

看一個現實中的例子:

店員就相當於os系統,經理相當於架構,店員直接與客人進行溝通,一般的事情自己就解決了,除非遇到自己不能解決的問題,就去請示經理,有經理決定,在這張圖中,與客戶互動的細節幾乎都有店員處理掉了這樣經理就變得很輕鬆,os與架構之間的關係也可以概括架構和應用程式之間的關係,

 

有了經理這個架構,應用程式就變得簡單了。

3. 架構的特徵

3.1 架構裡的函數能夠呼叫應用程式之中的函數,通俗的講是前輩呼叫晚輩,架構先於程式誕生,稱之為前輩。程式在架構的基礎上誕生,所以稱為晚輩。前輩呼叫晚輩,會產生下述幾種效果

      3.1.1 架構裡要定義很多的預設函數,工應用程式調用或者重寫

      3.2.2 程式員的主要作用就是設計各種函數供架構來調用

      3.3.3 如果應用程式中修改或者取代了預設函數,架構就會去調用程式中的函數,反之會去調用預設函數。

3.2 應用程式框架的典型雙向溝通情形

      

1. 架構中預設了f1(),程式中也定義了f1()。此時優先呼叫晚輩的f1()函數。
2. 架構「虛」設了f2(),亦即f2()是個抽象(abstract)函數。此時您務必
     定義f2()來充實之,並供Linux/Windows 或其它函數呼叫。例如f3()呼叫f2()。
3. 架構預設了f3(),程式並未定義f3()。此時呼叫預設的f3()函數。
4. 架構預設了f4(),您也定義了f4()。此時優先呼叫f4()函數,而f4()可呼叫前輩(預設)的f4()函數。

 

總結:從可以看到,架構和應用程式之間,主動權掌握在框剪手裡,架構決定如何呼叫應用程式中的函數。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.