-
第一種流行過的架構:
1575176720.jpg
比如說,現在的目標是開發一個自主品牌的mp3播放器,那么就需要懂硬件,比如單片機、傳感器、聲音設備,再利用匯編或者c語言來對該電子系統編寫相應的程序。
-
在計算機發明初期,幾乎大部分應用程序都是直接針對硬件來編寫的,而這樣的應用程序基本不能通用,所以出現了操作系統。目前市場上流通的大部分軟件都是工作在操作系統上的。如圖:
983876636.jpg
編寫這樣的應用程序需要了解硬件,了解操作系統,并且能夠使用c,c++,VB,等編程語言調用操作系統SDK完成軟件功能。由操作系統去跟硬件系統打交道,這樣對于開發人員的要求降低了很多,同時應用程序的通用性會變得更好。
-
再看第三種架構:
1161328679.jpg
隨著計算機軟件的發展,我們發現很多軟件都是在和數據打交道,用戶數據需要記錄到系統中,同時應該能快速的檢索數據,因此在單機應用中出現了數據庫這么一類應用程序。在需要存儲數據,搜數據,以及對數據加工處理統計的時候可以把這些工作交給數據庫去處理。
-
第四種架構:
236011488.jpg
這個是c/s應用程序架構,這里的客戶端架構與第三張圖的單機類似,唯一不同的是在數據的來源上做出了改變。原本的單機應用程序數據存儲在本地,但是一個軟件系統如果有很多人使用多個客戶端連接的時候,那么解決方案就是讓數據通過網絡對客戶端提供數據服務。
但是直接通過客戶端遠程連接數據庫是不安全的。
因此出現了server,通過服務器程序來操作數據庫,客戶端程序只能旋轉與服務器交互,所有的業務操作由服務端完成,這種模式就是c/s架構。
完成c/s架構所需知識比單機應用的架構難度大很多,不僅要懂得單機應用開發所需知識,還需要掌握網絡數據庫系統,以及web服務,socket服務等技術。 -
c/s架構應用程序存在一些缺點:需要更新所有已安裝的客戶端版本,而且會出現多個版本并存的情況,后期維護代價極大。
因為這樣的原因,就出現了B/S架構的軟件。如圖:
485804265.jpg
此架構的服務器端與第四張的服務器端基本一致。主要區別是B/S架構的程序不需要安裝客戶端程序,而是使用瀏覽器作為前端來交互的。一些成熟的解決方案:java的javaee架構,微軟的asp.net架構,完全開源的lamp架構。
這樣架構的優點在于因為存在大量成熟的解決方案,只需要一臺可連網的服務器,就可以讓整個系統運轉起來。開發速度開,運營成本低。 -
從2010年以后,智能手機在國內大量普及,幾年時間誕生了數百萬的App與手機游戲,往往一個項目擠擁有網站又擁有獨立的App,而且作為一個整體的系統,ios,安卓,與網頁的數據是一致的。
那么要做到這樣的架構設計,得讓ios、安卓客戶端共用我們的服務端。如圖:
1384456116.jpg -
在移動互聯網時代,經常會涉及到自己的平臺與第三方平臺的交互,比如,支付寶、微信、微博等。如圖:
1507451604.jpg
與第三方的交互,需要通過服務器發起請求調用第三方的API,并且為第三方的平臺保留回調的接口。
- 處理功能需求外,還有質量需求。比如,網站的負載能力,網絡并發連接數,系統的數據吞吐量,項目是否具有擴容能力等。這樣就帶出了,當今流行的架構,分布式集群架構
618407791.jpg
63033533.jpg
第一張圖的重點在后端,其他架構都是單機架構。任務量增大時,第一個辦法是升級配置,但是最后的cpu,最大的內存條也是有限度的。而處理無限增大的任務的辦法是,加機器,這就是集群的意思。不同的環節用不同的機器來處理,比如:管理、數據、測試、產品。這就是分布式。一個人干不完的活,讓其他人分工協作就是分布式集群架構的含義。受人敬仰的架構師就是這類架構師。
第二張圖的重點在前端,所畫的是市面上流行的混合APP的架構。支付寶、facebook都是著名的混合APP應用。
混合app使用html、css打造用戶界面,無論瀏覽器、微信端、還是app中。因此他在服務器跟新內容,可以讓ios、安卓、瀏覽器保存高度一致。
day10--軟件架構的變遷
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- //我所經歷的大數據平臺發展史(三):互聯網時代 ? 上篇http://www.infoq.com/cn/arti...
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
- 大家好,我是江君,我是一個視頻制作教程向的up主,特來給大家安利一波我的教程???!(??????)?? prem...