[轉]Android核心分析之二:方法論探討之概念空間篇

咱們潛意識就不想用計算機的方式來思考問題,咱們有本身的思惟描述方式,越是接近咱們思惟描述方式,咱們越容易接受和使用。各類計算機語言,建模工具,不外乎就是創建一個更接近人的思惟方式的概念空間,再使用工具從該概念空間向另一個概念空間映射,我稱之爲人性思惟空間向01序列描述空間的一個映射。實現方面來看,系統就是一個翻譯器,將機器性更加人性化的一種機制。大學計算機經典課「計算機體系結構」,其餘的能夠忘記,可是下面這個圖不能忘記: 程序員

這個就是概念空間最本質的原型體現:做爲觀測者看到了什麼?設計者給了觀察者什麼?給出的答案是外部特性。編程

(1)提供給觀察者的概念空間是什麼?數據結構

(2)內部特性的概念空間是什麼?架構

概念空間所表達的東西帶有兩個方面的纏繞:一面是人性自由,一面是物性制約(實時響應,系統資源的限制)。因此程序實現的概念空間是人性自由與特定計算機系統物性之間有一個折中,而且根據實際系統而採起某種動態的平衡。而這種平衡將會影響到系統架構,以及設計的思想。特別在手機這樣的嵌入式系統中,這種矛盾和平衡無處不在,這種折中無處不在。而對系統的選取和採用,也就接受了某個方面的折中或某中即在的,也許是看不見的標準,及這樣的標準有隱式和顯式的。正由於如此,無論是工具的產生,新的平臺的產生, 都是計算機的物性向人性靠近的一個小臺階。一個新的思想的造成隨即帶來的新工具,新系統框架,新的體系結構。框架

若是設計者站的高度足夠高,那麼設計者一開始就會考慮到「我該給他們一個什麼樣的概念空間,甚至一個什麼樣的理念,讓他們這個概念空間去創建本身的產品」,因而設計者就會開始主動的去創建概念空間,這個概念空間要表達的實際意義,概念空間應該有哪些內容構成,考慮概念空間的完備性和封閉性,考慮概念空間的邊界,考慮從哪一個基礎上創建這個概念空間,考慮如何與概念空間外的實體進行交互,考慮系統的資源限制條件,考慮功能性構建的合理性,考慮機器系統與人的平衡問題。函數

咱們在學習新系統時,首先映入眼簾的就是新概念。新名詞,就如如今咱們面臨的Android大量的新名詞,在程序員的世界都是從代碼實踐開始的,是從寫應用開始去涉及。SDK給了咱們一個概念,咱們就在這個概念框架下,使用SDK給我提供的函數接口,數據結構,初始化過程等,咱們最初的接觸到原型就是「HelloWorld」之類的DEMO程序,咱們在Hello world上去使用各類不一樣的接口函數,對於應用程序員來說,他說看到的系統就是系統調用接口,及其編程開發流程。實際上只要一使用這些接口,就不得不接受一系列的概念,只有在這種概念系統下,咱們才能工做。可是,實際上咱們卻忽略了這樣的概念系統的理解,只是在編程接口的這個狹窄的空間去理解系統.咱們理解系統在造成理解概念的空間只是微小的一角,不多有資料來介紹這種概念系統的造成和理解,編程接口只是這個概念空間一個,對外部的一個表徵。咱們能夠抽象起來,以接口,協議和行爲,來描述系統的狀況。SDK API的實質向上層提供了一個語義接口,從而在層間實現了一個轉義過程,同時又成爲一個功能的集合體。可是咱們不多這樣跳出來看,咱們究竟是處於一種什麼樣的概念空間,SDK除了調用接口外,還給了咱們怎樣一種總體概念?目標系統的基本構架在本質上的東西就是一個概念系統到另外一個概念系統的映射。讓咱們大腦理解的概念系統映射到計算機能實現的概念域的一個映射。咱們假定這個概念域E,機器可以理解的概念域爲M,咱們的軟件工程要作的事情實質就是:EàM領域的一個映射過程。工具

爲何要在宏觀上把握這些概念呢,顯然有個人目的,理解概念空間是理解設計者意圖的一個重要途徑。設計者要想給開發者提供什麼,設計者想要提供給最終用戶什麼。咱們須要站在高處看待系統明白設計者意圖。學習

Android的實質仍是一套管理手機硬件系統的軟件,這個話講起來沒有多大意義,計算機操做系統本質都是如此,Android是Google雲計算計劃的一部分,咱們修正成:Android創建的本質就是讓計算機成爲個人雲接入移動智能終端。做爲硬件管理軟件,Android提供概念空間內涵實質上泛操做系統內涵,咱們的理解能夠從泛操做系統概念空間映射到Android系統中去。而做爲雲計算的一部分的內容,咱們能夠雲計算的概念入手去研究Andoird。雲計算

 

原文連接:Android核心分析 之二 -------方法論探討之概念空間篇

相關文章
相關標籤/搜索