框架,即framework,其實是某種應用的半成品,就是一組元件,供你選擇來完成自己的系統。簡單說就是別人搭好的舞台,你來做表演。而且框架是一般是成熟的,不斷公升級的軟體。
架構,也就是通常所說的軟體體系結構,體系結構一般分為三部分:構建、用於描述計算機; 聯結器,用於描述構建的鏈結部分;配置,將構建和聯結器組成乙個有機整體。
這兩者進行比較,架構,呈現的是乙個設計規約,而框架是程式**。架構大多數指導乙個軟體系統的實施與開發,而框架的首要目的是為了復用,因此架構可以有其體系結構,用於指導框架的開發。
軟體設計裡到處都是模式,框架。有次朋友問什麼是模式?我也在學習中,就我的學習經驗,給出以下小結。
什麼是模式?
模式,英文是pattern。其實就是解決某一類問題的方**。你把解決某類問題的方法總結歸納到理論高度,那就是模式。
alexander給出的經典定義是:每個模式都描述了乙個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重複相同的工作。
模式有不同的領域,建築領域有建築模式,軟體設計領域也有設計模式。當乙個領域逐漸成熟的時候,自然會出現很多模式。
為什麼要用模式?
因為模式是一種指導,在乙個良好的指導下,有助於你完成任務,有助於你作出乙個優良的設計方案,達到事半功倍的效果。而且會得到解決問題的最佳辦法。
為什麼要用框架?
因為軟體系統發展到今天已經很複雜了,特別是伺服器端軟體,設計到的知識,內容,問題太多。在某些方面使用別人成熟的框架,就相當於讓別人幫你完成一些基礎工作,你只需要集中精力完成系統的業務邏輯設計。而且框架一般是成熟,穩健的,他可以處理系統很多細節問題,比如,事物處理,安全性,資料流控制等問題。還有框架一般都經過很多人使用,所以結構很好,所以擴充套件性也很好,而且它是不斷公升級的,你可以直接享受別人公升級**帶來的好處。
框架一般處在低層應用平台(如j2ee)和高層業務邏輯之間的中間層。
軟體為什麼要分層?
為了實現「高內聚、低耦合」。把問題劃分開來各個解決,易於控制,易於延展,易於分配資源等優點。
在技術全面、成熟練達、洞察力強、經驗豐富,具備在缺乏完整資訊、眾多問題交織一團、模糊和矛盾的情況下,軟體架構師能迅速抓住問題要害,並做出合理的關鍵決定的能力 l、具備戰略性和前瞻性思維能力,善於把握全域性,能夠在更高抽象級別上進行思考。主要包括如下:
⒈對專案開發涉及的所有問題領域都有經驗,包括徹底地理解專案需求,開展分析設計之類
軟體工程活動等
⒉具備領導素質,以在各小組之間推進技術工作,並在專案壓力下做出牢靠的關鍵決策;
⒊擁有優秀的溝通能力,用以進行說服、鼓勵和指導等活動,並贏得專案成員的信任;
⒋以目標導向和主動的方式來不帶任何感**彩地關注專案結果,構架師應當是專案背後的技術推動力,而非構想者或夢想家(追求完美);
⒌精通構架設計的理論、實踐和工具,並掌握多種參考構架、主要的可重用構架機制和模式(例如j2ee架構等);
⒍具備系統設計員的所有技能,但涉及面更廣、抽象級別更高; 活動確定用例或需求的優先順序、進行構架分析、建立構架的概念驗證原型、評估構架的概念驗證原型的可行性、組織
系統實施模型、描述系統分布結構、描述執行時刻構架、確定設計機制、確定設計元素、合併已有設計元素、構架文件、參考構架、分析模型、設計模型、實施模型、部署模型、構架概念驗證原型、介面、事件、訊號與協議等。
架構師的主要任務不是從事具體的軟體程式的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,並且需要有良好的
組織管理能力。可以這樣說,乙個架構師工作的好壞決定了整個軟體開發專案的成敗。
⒈領導與協調整個專案中的技術活動(分析、設計和實施等)
⒉推動主要的技術決策,並最終表達為
軟體構架
⒊確定和文件化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等「檢視」
⒋確定設計元素的分組以及這些主要分組之間的介面
⒌為技術決策提供規則,平衡各類涉眾的不同關注點,化解技術風險,並保證相關決定被有效的傳達和貫徹
⒍理解、評價並接收系統需求
⒎評價和確認軟體架構的實現 專業技能
系統架構和框架以及架構師的職責
框架,即framework,其實是某種應用的半成品,就是一組元件,供你選擇來完成自己的系統。簡單說就是別人搭好的舞台,你來做表演。而且框架是一般是成熟的,不斷公升級的軟體。架構,也就是通常所說的軟體體系結構,體系結構一般分為三部分 構建 用於描述計算機 聯結器,用於描述構建的鏈結部分 配置,將構建和...
閒聊下架構 框架,以及架構師
我們先來看看本人對下面這兩個名詞的個人見解 幾乎每個軟體系統的架構都是不同的,因為軟體架構的第一步就是根據當前專案的重要需求及約束來制定乙個個技術決策。可以分成行業框架和通用框架。通用框架是對大多數軟體專案常用的模組 底層 高層 進行封裝 同時暴露熱點 的乙個集合,能提高開發速度以及質量 行業框架是...
系統架構 系統架構師
一 什麼是架構師 是乙個既需要掌控整體又需要洞悉區域性瓶頸並依據具體的業務場景給出解決方案的團隊領導型人物。架構師需要能夠識別定義並確認需求,能夠進行系統分解形成整體架構,能夠正確地技術選型,能夠制定技術規格說明並有效推動實施落地。按 togaf 的定義,架構師的職責是了解並關注實際上關係重大但未變...