模式?框架?軟體為什麼要分層?

2021-04-07 09:08:03 字數 1429 閱讀 7305

現在軟體設計裡到處都是模式,框架。有次朋友問什麼是模式?我也在學習中,就我的學習經驗,給出以下小結。(注意:個人觀點,僅供參考,歡迎指正。)

1.什麼是模式?

模式,即pattern。其實就是解決某一類問題的方**。你把解決某類問題的方法總結歸納到理論高度,那就是模式。alexander給出的經典定義是:每個模式都描述了乙個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重複相同的工作。模式有不同的領域,建築領域有建築模式,軟體設計領域也有設計模式。當乙個領域逐漸成熟的時候,自然會出現很多模式。

2.什麼是框架?

框架,即framework。其實就是某種應用的半成品,就是一組元件,供你選用完成你自己的系統。簡單說就是使用別人搭好的舞台,你來做表演。而且,框架一般是成熟的,不斷公升級的軟體。

3.為什麼要用模式?

因為模式是一種指導,在乙個良好的指導下,有助於你完成任務,有助於你作出乙個優良的設計方案,達到事半功倍的效果。而且會得到解決問題的最佳辦法。

4.為什麼要用框架?

因為軟體系統發展到今天已經很複雜了,特別是伺服器端軟體,設計到的知識,內容,問題太多。在某些方面使用別人成熟的框架,就相當於讓別人幫你完成一些基礎工作,你只需要集中精力完成系統的業務邏輯設計。而且框架一般是成熟,穩健的,他可以處理系統很多細節問題,比如,事物處理,安全性,資料流控制等問題。還有框架一般都經過很多人使用,所以結構很好,所以擴充套件性也很好,而且它是不斷公升級的,你可以直接享受別人公升級**帶來的好處。框架一般處在低層應用平台(如j2ee)和高層業務邏輯之間的中間層。

5.軟體為什麼要分層?

為了實現"高內聚、低耦合"。把問題劃分開來各個解決,易於控制,易於延展,易於分配資源...總之好處很多啦:)。

如果說架構師是在模型圖紙上工作的,那麼模型元素必須是實實在在的,正如我們不可能期望抽象派畫家來設計高樓大廈,沒有實際意義的模型元素,是不可能構築出軟體系統的。迄今為止,絕大部分軟體架構師是依賴軟體程式設計師來實現他們的架構意圖的,這二者直接的鴻溝是顯而易見的。設計模式的出現是為縮短二者之間的鴻溝所做的努力,目的是讓架構師和程式設計師之間有更多的共同語言和規範。儘管設計模式讓軟體開發效率和質量有一定程度的提公升,但是它始終面臨乙個很明顯的侷限,那就是人的因素。人雖然在創造性方面有絕對優勢,但是在精確性、永續性、效率、質量上是無法比擬機器的。所以我們希望在軟體系統構建過程中,人和機器發揮各自的長處,也就是說,讓人來扮演架構師的角色,而讓機器來扮演程式施工者的角色。事實上,目前已經有了成功的模式了,那就是kcom 商業工程(http: //www.kcomsoft.com)企業應用平台所採用的基於設計的全自動化軟體工廠模式,採用這種模式,架構師在工具平台所提供的模型圖設計環境裡做軟體系統的設計,設計結果由工具平台自身所帶的"軟體工廠"自動加工成最終企業應用軟體系統。這樣的開發模式,能使企業應用軟體系統的開發在效率、質量上有了質的提公升,從根本上區別於傳統的設計模式,因為這裡的設計模式已經包含在軟體工廠編譯器之中了。

資料倉儲為什麼要分層

如何分層 ods層是將oltp資料通過etl同步到資料倉儲來作為資料倉儲最基礎的資料 在這個過程中,資料經過了一定的清洗,比如欄位的統一,髒資料的去除等,但是資料的粒度是不會變化的。ods層的資料可以只保留一定的時間。mid中間層是採用inmon集線器架構的方式,使用正規化建模 貼源 的方法。這一層...

資料倉儲為什麼要分層

資料倉儲為什麼要分層 如何分層 為什麼要分層 空間換時間。通過建設多層次的資料模型供使用者使用,避免使用者直接使用操作型資料,可以更高效的訪問資料。把複雜問題簡單化。講乙個複雜的任務分解成多個步驟來完成,每一層只處理單一的步驟,比較簡單和容易理解。而且便於維護資料的準確性,當資料出現問題之後,可以不...

資料倉儲為什麼要分層

第一家公司的老數倉技術架構 mysql kettle,分層s ods 層 b層 有點記不清了,乙個是取資料,乙個是做拉鍊 m層 根據業務設計的表 貸前loan before 貸後loan after,並且是拉鍊表 h a層 a fc analysis user info a fc analysis ...