去年跳槽到了一家新公司,到現在已經一年多了。這一年多沒有寫什麼東西。一直都在做一些軟體平台化的工作。後續會不斷跟大家**如何做乙個好的軟體架構設計。
一年多的軟體平台化設計開發工作,改變了我對軟體架構設計的看法。原來提到架構設計,最先想到的就是這次設計要採用什麼設計模式,把系統分成幾層。現在說到架構設計,已經不那麼衝動了,會先考慮先把需求整理完善,然後抽象出整個系統的特點,整理哪些是不易變化的,哪些是會經常擴充套件的。再把不變的東西,連同系統控制邏輯一起,定義成平台,把經常會擴充套件的東西定義成外掛程式。然後定義平台和外掛程式的介面。平台中的控制邏輯、演算法等只針對這些介面進行程式設計,而外掛程式負責對這些介面進行實現(當然也不一定都是外掛程式實現)。這樣,平台就封裝了與業務邏輯無關的內容,這部分內容在介面明確後就基本不動了(功能增強除外)。而外掛程式封裝了業務相關的內容,新功能擴充套件是可以採用增量式的開發方式開發新的外掛程式。這樣軟體框架就基本成型了,而且在平台搭建完成後,後續的開發工作就基本都集中到業務上去了。而且易於採用增量式的開發,減少了對軟體的改動,也就減少了出錯的機率。
總的來說,上面這些內容就是我一年多來的感受。當然,具體實現時還會涉及到很多細節,後續我會逐漸拿出來,跟大家**。
《軟體架構設計》學習筆記 1 閱讀感悟
接上篇。這幾日將全書通讀了一遍,最大的感受有兩個 思維方式的變革,具體點說,就是考慮問題的視角的不同。視角不同,你看到的東西或許就是不一樣的。這有點像 盲人摸象 的意思。盲人摸象作為乙個反面教材,被用來告誡人們看待問題要全面。可是,反過來想一下,如果沒有區域性的體驗和觀察 沒有對於各個區域性的認識和...
salesforce 架構設計 從架構設計到架構師
因為碎片化的時間多了,所以開始刷起某乎了,關注了架構相關的板塊,也順手回答了一些問題。發現有很多同道中人正在經歷著我前兩年經歷的階段,對於做架構沒有相對具象的一些理解,更沒有系統化的認識。所以把最近回答的一些內容整理一下,權當記錄,留給3年後的自己 按慣例,容許我裝x開頭 一 架構的定義 在軟體開發...
mysql架構設計 初識mysql架構設計
一 應用系統如何與mysql進行一次互動?最開始接觸jdbc的時候,我們系統如何完成一次sql操作呢?第一步,建立資料庫連線 第二步,操作sql 第三步,釋放連線。但是每次建立與資料庫的連線非常耗時和資源,所以我們加入了連線池的概念。第一步的獲取連線是從連線池中獲取乙個可用的連線,第三步的釋放連線不...