1. 程式人生 > >架構、框架和設計模式關係

架構、框架和設計模式關係

  在學習軟體工程的時候,第一次接觸到了架構這個概念。當初接觸的時候對其的理解是非常淺薄的,因為那時候工程經驗比較少,對這樣一個深層次的概念還是模糊不清楚的。

       隨著學習的深入,開始接觸了設計模式,也就是那本令我愛上程式設計的書--《大話設計模式》,書中的小菜和大鳥的清晰的對白,讓我猶如身臨其境般,一點一點層層遞進的認識設計模式,認識面向物件的引以為傲的設計原則。經過了很長時間的學習,深刻的發現設計模式的迷人之處,也感覺到了程式設計的藝術之美。

       在之後,開始學習了SSH框架,第一次感覺到框架的好用之處,也再一次感概那些聰明的人們讓程式設計變得更加輕鬆,也感慨那些聰明的人們對懶惰的執著和渴望。

       其實以前學習的時候,對這三個東東的關係還真的不是非常清晰,總感覺他們非常像,卻不太好說清楚他們之間的關係。現在隨著不斷的學習,不斷的積累經驗,也對這三者的關係有了個清楚的認識。下面總結一下他們之間的關係。

1.    概念

       架構:簡單的說架構就是一個藍圖,是一種設計方案,將客戶的不同需求抽象成為抽象元件,並且能夠描述這些抽象元件之間的通訊和呼叫。

       框架:軟體框架是專案軟體開發過程中提取特定領域軟體的共性部分形成的體系結構,不同領域的軟體專案有著不同的框架型別。框架不是現成可用的應用系統。而是一個半成品,提供了諸多服務,開發人員進行二次開發,實現具體功能的應用系統。

       設計模式:是一套被反覆使用、多數人知曉的、經過分類編目的、程式碼設計經驗的總結,它強調的是一個設計問題的解決方法。

2.    框架與架構關係

       首先說框架不是架構,應該說框架比架構更具體,更偏重於技術,而架構偏重於設計。還有一個關係就是架構可以通過多種框架來實現。

3.    框架與設計模式關係

       設計模式研究的是針對單一問題的設計思路和解決方法,一個模式可應用於不同的框架和被不同的語言所實現;而框架則是一個應用的體系結構,是一種或多種設計模式和程式碼的混合體雖然它們有所不同,但卻共同致力於使人們的設計可以被重用,在思想上存在著統一性的特點,因而設計模式的思想可以在框架設計中進行應用。

4.    架構與設計模式關係

       兩者的關係也是很好區分的,設計模式主要是針對單一問題的解決方法,範疇比較小,而架構是高層次的針對體系結構的一種設計思路,範疇比較大。可以這麼說,一個架構中可能會出現多個設計模式來解決多種架構中的問題。

5.    總結

       通過上面的分析,我們能夠知道他們之間的區別還是有很多,首先架構應該是一個範疇最大的概念,是最高層次的設計。一個架構設計中可能會用到多個框架和多個設計模式;而框架是針對共性抽象出來的半成品,這裡面可能包含著多個設計模式;而設計模式就是解決單一問題的設計思路和解決方法。

       所以我們在做一個專案的時候首先出來的應該是架構,是對整個問題的一個總體上的設計,之後再會考慮運用什麼樣的框架和設計模式來實現我們的架構;當然,只使用框架和設計模式中的一種也是經常遇到的。

       他們三者的共同點都是解決現實生活中的問題而出現的,而且在架構設計和框架設計還有設計模式中都會表現出來的就是“高內聚,低耦合”的理念;所以他們的共同點就是讓我們的設計更面向物件化。

       所以我們要想做好一個好的專案,那麼架構設計、框架設計和使用、設計模式是非常重要的。

  ---------------------  作者:lfsf802  來源:CSDN  原文:https://blog.csdn.net/lfsf802/article/details/8487990  版權宣告:本文為博主原創文章,轉載請附上博文連結!