一個軟體系統的架構到底應該包含些什麼?
從事企業資訊化系統開發已經3年,回顧這3年的歷程,深刻體會到的一點是:軟體的架構設計,不是越全面越好,而是越簡單越好。簡單到對開發者透明最好。
那麼,一個架構設計,到底需要提供什麼呢?個人認為,只需要提供三種機制:
一、客戶端和伺服器的通訊機制,缺少通訊機制的支撐,只好做個單機版;
二、包含功能許可權和資料許可權的全面許可權機制,這裡其實並不包括許可權管理功能,我認為許可權管理功能是一項業務。而機制,則如同自然規則一樣,雖然看不見摸不著,但卻無處不在。
三、業務模組的動態載入機制,如果不能動態載入業務模組,則開發新模組和釋出新功能都會很麻煩。
如果你的系統是C/S模式,那麼還需要客戶端的自動升級機制。
除此以外,做得越多,約束越多。開發到後面,就會發現系統不重構不行,而重構也是困難重重。用“積重難返”來形容,實在是沒法再貼切了。而一個輕便的,甚至是透明的架構設計,則可以做到和業務完全無關。無論今後需要開發什麼樣的功能,都不需要變更架構的設計。在技術升級換代後,升級架構也非常容易。
相關推薦
一個軟體系統的架構到底應該包含些什麼?
從事企業資訊化系統開發已經3年,回顧這3年的歷程,深刻體會到的一點是:軟體的架構設計,不是越全面越好,而是越簡單越好。簡單到對開發者透明最好。 那麼,一個架構設計,到底需要提供什麼呢?個人認為,只需要提供三種機制: 一、客戶端和伺服器的通訊機制,缺少通訊機制的支撐,只好做個
【架構設計之道】這一波優雅的操作,會把你的中介軟體系統架構帶到另一個Level
今年企業對Java開發的市場需求,你看懂了嗎? >>>
如何在裸機下設計一個嵌入式系統架構?
實踐 嵌入式開發 charts 影響 dex 接收 智能家居 結合 刷新 如何在裸機下設計一個嵌入式系統架構? 如何不使用操作系統的情況下設計一個嵌入式系統的架構呢?比如串口數據如何接受,串口數據協議在什麽地方解析,SPI總線的數據如何有效的接收?等等問題。如何
阿里、百度、京東一線網際網路架構師都在用的技術體系,高併發,微服務,軟體系統架構
可以說,Java是現階段中國網際網路公司中,覆蓋度最廣的研發語言,掌握了Java技術體系,不管在成熟的大公司,快速發展的公司,還是創業階段的公司,都能有立足之地。 有不少朋友問,除了掌握Java語法,還要系統學習哪些Java相關的技術,今天分享一個,網際網路Java技術學習路線圖。 一:常見模式
ERP之軟體系統架構- C/S與B/S區別與簡介TEL:13083567937
一、什麼是C/S和B/S 要想對“C/S”和“B/S”技術發展變化有所瞭解,首先必須搞清楚三個問題。 第一、什麼是C/S結構。 C/S(Client/Server)結構,即大家熟知的客戶機和伺服器結構。它是軟體系統 體系結構,通過它可以充分利用兩端硬體環境的優勢
ERP之軟體系統架構- C/S與B/S區別與簡介
一、什麼是C/S和B/S 要想對“C/S”和“B/S”技術發展變化有所瞭解,首先必須搞清楚三個問題。 第一、什麼是C/S結構。 C/S(Client/Server)結構,即大家熟知的客戶機和伺服器結構。它是軟體系統 體系結構,通過它可以充分利用兩端硬體環境的優勢,將任務合理分配到Client端和Server端
各種軟體系統架構圖解析
釋出一企業技術架構圖,供大家參考。 該技術架構圖是本人根據多年企業技術架構經驗而制定,是企業技術的總架構圖,希望對CTO們有所借鑑。 簡單說明: 1.中介軟體基礎執行環境是經過統一規劃的以
軟考之高級系統架構設計師(包含2009-2018歷年真題詳解+課本教程+論文範文+視頻教程)
更新 詳細 auto tar unp orien eight 系統 答案 軟考-高級系統架構設計師2009-2018歷年考試真題以及詳細答案(試題和答案分離的哦),同時含有課本教程、系統架構設計師視頻教程、系統架構設計師論文範文。持續更新後續年份的資料。請點贊!!請點贊!!
一個完整的微服務系統,應該包含哪些功能?
近幾年,微服務架構迅速在整個技術社群竄紅,它被認為是IT軟體架構的未來方向,大神Martin Fowler也給微服務極高的評價。那為什麼我們需要微服務,微服務的真正優勢到底是什麼,一個完整的微服務系統,應該包含哪些功能,本文作者劉彥夫在軟體設計和開發領域有10多年工作經驗
系統架構培訓:矩陣,封裝,一個案例教你激發客戶潛藏的需求!
系統架構培訓 封裝 矩陣 高層設計 在現實設計中,通過變化分析可以激發客戶潛藏的需求?下面看一個例子。一個美國某國際電子商務公司的訂單處理系統。假設系統必須能夠處理來自不同的國家(地區)的銷售訂單。最開始要求很簡單:處理美國和加拿大的訂單。系統的需求清單如下:要為加拿大和美國構建一個銷售訂單系
高性能並發系統架構應該如何設計?關鍵是什麽?
不同 數據庫服務 blog gzip壓縮網頁 狀態 引用 .net 做成 emca 1) 優化前端網頁 充分利用CDN,使JS、圖片等靜態資源的請求能夠就近訪問(順便說一下,如果12306訂票插件能從google提供的http://cdnjs.com中引用JS,而不去
分布式存儲系統架構設計,應該遵循什麽樣的原則?
不可 功能 故障恢復 硬盤 獨立 實現 存儲系統 技術 本質 分布式存儲系統架構設計,應該遵循什麽樣的原則? 分布式存儲系統,本質是將數據分散存儲在多臺獨立的x86設備上。傳統的網絡存儲系統通常采用集中的存儲服務器存放數據,存儲服務器很容易成為系統性能的瓶頸,也容易成為可
利用Github伺服器做一個軟體自動升級系統
完整原文(含原始碼):http://exp-blog.com/2018/10/19/pid-2453/ (轉載請註明出處,僅供分享學習,嚴禁用於商業用途) 宣告 寫這個外掛純粹是出於學習目的,此博文主要作用是功能展示 未經允許禁止出於商用目的使用
系統架構設計師-軟體水平考試(高階)-理論-需求
系統架構設計師-需求 前言: 最近很久沒有發文章了。最近事情挺多的,也不知道該發那方面的內容。正好這兩天有空閒,就整理整理思緒,把一些總結髮表一下。 經過考慮後,先將軟考-架構相關的內容發出來,之後有時間,也會將一些額外的理論知識和經驗寫出來。 參考:《系統架構設計師考試全
系統架構設計師-軟體水平考試(高階)-理論-作業系統
系統架構設計師-作業系統 前言: 之前文章釋出後,發現還是有一定閱讀量的,所以決定繼續發一些思維導圖。 思維導圖首先以思維結構為主,其次以考試的內容進行一定的改動(如本次,將“嵌入系統”放在了“作業系統(功能)“分類中)。 另外,如果感覺圖片模糊的話,估計是你頁面展示問題,
執行一個MapReduce時,應該監控些什麼
執行一個MapReduce時,應該監控些什麼 前言 本文討論的是,在以Yarn做資源管理的叢集上如何監控一個MapReduce程式。 一、概述 &nbs
2018年最新JAVA架構師包含技術總綱-微服務,高併發,分散式,效能優化,spring,mybatis底層原始碼,虛擬機器,基礎框架架構,系統架構
2018年最新JAVA架構師包含技術總綱-微服務,高併發,分散式,效能優化,spring,mybatis底層原始碼,虛擬機器,基礎框架架構,系統架構 寫在開篇 不管是開發、測試、運維,每個技術人員心裡都有一個成為技術大牛的夢,畢竟“夢想總是要有的,萬一實現了呢”!正是對技術夢的追求,促使我們不斷地努力和提
系統架構設計師-軟體水平考試(高階)-理論-架構風格
系統架構設計師-架構風格 前言: 看來非技術向的架構XMIND真的真的受歡迎啊。上一篇非技術類的閱讀量明顯高出平均水準好多。。。 但是,這次真的是系統架構師這個考試最有價值的技術類XMIND了。 如果感覺圖片模糊,請將圖片下載,或放大圖片。(圖片絕對清晰)  
軟體架構設計---層次系統架構風格
MVP 的全稱為 Model-View-Presenter,Model 提供資料,View 負責顯示,Controller/ Presenter 負責邏輯的處理。MVP 是從經典的模式 MVC 演變而來,它們的基本思想有相通的地方:Controller/Presenter 負責邏輯的處理,Model
Java進階面試系列之一:哥們,你們的系統架構中為什麼要引入訊息中介軟體?
歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! “ 這篇文章開始,我們把訊息中介軟體這塊高頻的面試問題來給大家說一下,也會涵蓋一些MQ中介軟體常見的技術問題。假如說面試官看你簡歷裡寫了MQ中介軟體的使用經驗,很可能會有如下的問題:你們公司生產