導航:首頁 > 萬維百科 > 網站的系統架構設計模式

網站的系統架構設計模式

發布時間:2020-11-22 19:33:43

1、軟體架構和設計模式有什麼區別

設計模式是架構的手段(之一)。
具體一點說,設計模式可以在某些情況幫助架構軟體的靜態結構。
而架構的范圍要大一些,更高層一些,考慮的更多的是非常重要的全局性的design decision。一般好的(靜態)架構可以盡量使變化發生在局部(模塊內)而不影響整個系統。架構上的變化往往成本會非常高。
而且設計模式只有一些是適用於架構的,還有一些只是用於具體的類設計的,剩下的一些則只是克服編程語言的限制而已。

打個不恰當的比方,有點像擋拆和戰術的關系。
在合適的情況下用好擋拆可以很好的執行戰術,
但戰術不只有擋拆,
而且有的戰術不需要擋拆,
最重要的是盲目的用擋拆有時候反而會起反作用。

面對客戶嗶嗶時,我們用需求分析架構。
面對整個軟體或系統時,我們談論架構分析。
面對軟體模塊設計時,我們使用設計模式。
面對模塊實現時,我們應用特定編程語言的特性。
軟體架構 :一般場景下擁有設計的選擇權
設計模式 :選擇後特定場景下的最佳實踐

軟體架構是軟體的一種搭建形式,往往規定了軟體的模塊組成,通信介面(含通信數據結構),組件模型,集成框架等等。往往規定了具體的細節。
設計模式是一種軟體的實現方法,是一種抽象的方法論,是為了更好的實現軟體而歸納出來的有效方法。
實現一種軟體架構,不同組成部分可能用到不同的設計模式,某一部分也可能可以採用不同的設計模式實現。

2、軟體體系結構常用的設計模式包括哪些

MVC是當前流行的Web應用設計框架的實施標准,是軟體工程中的一種軟體架構模式[ ]。它把軟體系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller),目的是實現一種動態和可持續的程序設計,使後續對程序的修改和擴展簡化,並且使程序某一部分的代碼或功能重復利用成為可能。
在這種設計結構下,一個應用被分為三個部分:model、view和controller,每個部分負責不同的功能。根據用戶界面(view)的操作完成對程序數據(model)的更新。將程序數據(model)改變及時反應到用戶界面(view)上。也就是完成兩個方向的動作。

3、什麼是系統架構設計?

簡單一點,系統架構設計就是一個系統的草圖,描述了構成系統的抽象組件,以及各個組件之間的是如何進行通訊的,這些組件在實現過程中可以被細化為實際的組件比如類或者對象。在面向對象領域中,組件之間的聯通通常面向於介面實現的。

是人們對一個結構內的元素及元素間關系的一種主觀映射的產物。架構設計是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。

「架構」一詞最早來自建築學,原意為建築物設計和建造的藝術。但是在軟體工程領域,軟體架構不是一個新名詞,只是在早期的著作中人們將軟體架構稱為軟體體系架構。這就是架構的概念。所謂架構,就是人們對一個結構內的元素及元素間關系的一種主觀影射的產物。

無論何種系統架構應用領域,目的都是一樣的,即完整地、高一致性的、平衡各種利弊的、有技術和市場前瞻性的設計系統和實施系統。

(3)網站的系統架構設計模式擴展資料

系統架構的主要任務是界定系統級的功能與非功能要求、規劃要設計的整體系統的特徵、規劃並設計實現系統級的各項要求的手段,同時利用各種學科技術完成子系統的結構構建。

在系統架構中,由於對軟體越來越深入的依賴,軟體架構的任務也體現出重要的作用。而且系統架構與軟體架構是緊密聯系和相互依賴的。

1997年,Eberhadrt Rechtin 與MarkW Maier 在其論著中,為計算機科學總結了系統架構方面的實踐成果,從而奠定了系統科學和系統架構在計算機科學中的基石。

4、設計系統應該採用什麼模式進行設計

結構:程序功能實現的邏輯
框架是整個或部分系統的可重用設計,表現為一組抽象構件及構件實例間交互的方法;另一方面也可以說框架是可被應用開發者定製的應用骨架。
框架亦可稱為應用架構,在特定領域基於體系結構的可重用的設計。也可以認為框架是體系結構在特定領域下的應用。框架的例子如MVC。
設計模式 在一定的環境中解決某一問題的方案
構件通常是代碼重用,而設計模式是設計重用,框架則介於兩者之間,部分代碼重用,部分設計重用,有時分析也可重用.
構架是architecture:它是對軟體系統的系統組織,是對構成系統的
構件的介面,行為模式,協作關系等體系問題的決策總和。它不僅涉及
到結構與行為,而且還涉及到系統的使用,功能,性能,適應性,重
用性,可理解性
設計模式比框架更為抽象
設計模式在碰到具體問題後,才能產生代碼;框架已經可以用代碼表示
設計模式是比框架更小的體系結構元素:
框架中可以包括多個設計模式
簡單點說:結構 < 設計模式 < 架構 <框架
結構+演算法=程序(功能代碼塊)
程序與程序之間進行調整=設計模式
多個設計模式相組合(組件)=架構(系統)

5、到底如何區分什麼是架構,框架,模式和平台

1、設計模式

為什麼要先說設計模式?因為設計模式在這些概念中是最基本的,而且也比較簡單。那麼什麼是設計模式呢?說的直白點,設計模式就是告訴你針對特定問題如何組織類、對象和介面之間的關系,是前人總結的經驗。比如我要在代碼中實現一個全局唯一的配置類,那麼就使用Singleton模式。設計模式在實際編碼工作和設計框架時會被使用到,而更高層的架構和平台則不會太關注它。

2、框架

做WEB開發接觸到最多的框架可數ORM框架,ORM框架只是所有數據關系映射框架的統稱,具體的如NHibernate、ActiveRecord等,框架是為了解決特定問題而存在的,其它諸如模板框架、緩存框架,框架不能直接使用,需要二次開發。

3、架構

從大的層面來說,比如針對公司業務的B2C網站系統架構,裡面可能會用到多種解決各方面問題的框架,關注的是技術整合、擴展、可維護性。換個角度,在框架中也會涉及到架構問題,比如開發NHibernate框架,也需要考慮如何進行設計。

4、平台

平台的概念類似框架,但又結合的架構的考慮,它是更高層面上的「框架」,准確說是一種應用。它是針對企業用戶,為解決企業業務需要而形成的產品。

6、什麼是軟體體系結構的設計模式?

MVC是當前流行的Web應用設計框架的實施標准,是軟體工程中的一種軟體架構模式[ ]。它把軟體系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller),目的是實現一種動態和可持續的程序設計,使後續對程序的修改和擴展簡化,並且使程序某一部分的代碼或功能重復利用成為可能。
在這種設計結構下,一個應用被分為三個部分:model、view和controller,每個部分負責不同的功能。根據用戶界面(view)的操作完成對程序數據(model)的更新。將程序數據(model)改變及時反應到用戶界面(view)上。也就是完成兩個方向的動作。

7、架構,框架和設計模式的區別

設計模式是架構的手段(之一)。
具體一點說,設計模式可以在某些情況幫助架構軟體的靜態結構。
而架構的范圍要大一些,更高層一些,考慮的更多的是非常重要的全局性的design decision。一般好的(靜態)架構可以盡量使變化發生在局部(模塊內)而不影響整個系統。架構上的變化往往成本會非常高。
而且設計模式只有一些是適用於架構的,還有一些只是用於具體的類設計的,剩下的一些則只是克服編程語言的限制而已。

打個不恰當的比方,有點像擋拆和戰術的關系。
在合適的情況下用好擋拆可以很好的執行戰術,
但戰術不只有擋拆,
而且有的戰術不需要擋拆,
最重要的是盲目的用擋拆有時候反而會起反作用。

面對客戶嗶嗶時,我們用需求分析架構。
面對整個軟體或系統時,我們談論架構分析。
面對軟體模塊設計時,我們使用設計模式。
面對模塊實現時,我們應用特定編程語言的特性。
軟體架構 :一般場景下擁有設計的選擇權
設計模式 :選擇後特定場景下的最佳實踐

軟體架構是軟體的一種搭建形式,往往規定了軟體的模塊組成,通信介面(含通信數據結構),組件模型,集成框架等等。往往規定了具體的細節。
設計模式是一種軟體的實現方法,是一種抽象的方法論,是為了更好的實現軟體而歸納出來的有效方法。
實現一種軟體架構,不同組成部分可能用到不同的設計模式,某一部分也可能可以採用不同的設計模式實現。

8、軟體架構模式基本概念及三者區別

在做軟體架構設計時,根據不同的抽象層次可分為三種不同層次的模式:架構模式(Architectural Pattern)、設計模式(Design Pattern)、代碼模式(Coding Pattern)。

架構模式是一個系統的高層次策略,涉及到大尺度的組件以及整體性質和力學。架構模式的好壞可以影響到總體布局和框架性結構。

設計模式是中等尺度的結構策略。這些中等尺度的結構實現了一些大尺度組件的行為和它們之間的關系。模式的好壞不會影響到系統的總體布局和總體框架。設計模式定義出子系統或組件的微觀結構。

代碼模式(或成例)是特定的範例和與特定語言有關的編程技巧。代碼模式的好壞會影響到一個中等尺度組件的內部、外部的結構或行為的底層細節,但不會影響到一個部件或子系統的中等尺度的結構,更不會影響到系統的總體布局和大尺度框架。

架構模式(Architectural Pattern)

一個架構模式描述軟體系統里的基本的結構組織或綱要。架構模式提供一些事先定義好的子系統,指定它們的責任,並給出把它們組織在一起的法則和指南。稱之為系統模式。

•MVC模式,一個架構模式常常可以分解成很多個設計模式的聯合使用。MVC模式常常包括調停者(Mediator)模式、策略(Strategy)模式、合成(Composite)模式、觀察者(Observer)模式等。

•Layers(分層)模式,有時也稱Tiers模式

•Blackboard(黑板)模式

•Broker(中介)模式

•Distributed Process(分散過程)模式

•Microkernel(微核)模式

架構模式常常劃分成如下的幾種:

一、 模塊結構(From Mud to Structure)型。幫助架構師將系統合理劃分,避免形成一個對象的海洋。包括Layers(分層)模式、Blackboard(黑板)模式、Pipes/Filters(管道/過濾器)模式等。

二、分散系統(Distributed Systems)型。為分散式系統提供完整的架構設計,包括像Broker(中介)模式等。

三、人機互動(Interactive Systems)型,支持包含有人機互動介面的系統的架構設計,例子包括MVC(Model-View-Controller)模式、PAC(Presentation-Abstraction-Control)模式等。

四、Adaptable Systems型,支持應用系統適應技術的變化、軟體功能需求的變化。如Reflection(反射)模式、Microkernel(微核)模式等。

設計模式(Design Pattern)

一個設計模式提供一種提煉子系統或軟體系統中的組件的,或者它們之間的關系的綱要設計。設計模式描述普遍存在的在相互通訊的組件中重復出現的結構,這種結構解決在一定的背景中的具有一般性的設計問題。

設計模式常常劃分成不同的種類,常見的種類有:

創建型設計模式,如工廠方法(Factory Method)模式、抽象工廠(Abstract Factory)模式、原型(Prototype)模式、單例(Singleton)模式,建造(Builder)模式等

結構型設計模式,如合成(Composite)模式、裝飾(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、門面(Facade)模式、橋梁(Bridge)模式等

行為型模式,如模版方法(Template Method)模式、觀察者(Observer)模式、迭代子(Iterator)模式、責任鏈(Chain of Responsibility)模式、備忘錄(Memento)模式、命令(Command)模式、狀態(State)模式、訪問者(Visitor)模式等等。

以上是三種經典類型,實際上還有很多其他的類型,比如Fundamental型、Partition型,Relation型等等。設計模式在特定的編程語言中實現的時候,常常會用到代碼模式。比如單例(Singleton)模式的實現常常涉及到雙檢鎖(Double-Check Locking)模式等。

代碼模式(Coding Pattern)

代碼模式(或成例)是較低層次的模式,並與編程語言密切相關。代碼模式描述怎樣利用一個特定的編程語言的特點來實現一個組件的某些特定的方面或關系。

較為著名的代碼模式的例子包括雙檢鎖(Double-Check Locking)模式等

9、什麼是設計模式和架構模式之間的區別

設計模式是架構的手段(之一)。
具體一點說,設計模式可以在某些情況幫助架構軟體的靜態結構。
而架構的范圍要大一些,更高層一些,考慮的更多的是非常重要的全局性的design decision。一般好的(靜態)架構可以盡量使變化發生在局部(模塊內)而不影響整個系統。架構上的變化往往成本會非常高。
而且設計模式只有一些是適用於架構的,還有一些只是用於具體的類設計的,剩下的一些則只是克服編程語言的限制而已。

打個不恰當的比方,有點像擋拆和戰術的關系。
在合適的情況下用好擋拆可以很好的執行戰術,
但戰術不只有擋拆,
而且有的戰術不需要擋拆,
最重要的是盲目的用擋拆有時候反而會起反作用。

面對客戶嗶嗶時,我們用需求分析架構。
面對整個軟體或系統時,我們談論架構分析。
面對軟體模塊設計時,我們使用設計模式。
面對模塊實現時,我們應用特定編程語言的特性。
軟體架構 :一般場景下擁有設計的選擇權
設計模式 :選擇後特定場景下的最佳實踐

軟體架構是軟體的一種搭建形式,往往規定了軟體的模塊組成,通信介面(含通信數據結構),組件模型,集成框架等等。往往規定了具體的細節。
設計模式是一種軟體的實現方法,是一種抽象的方法論,是為了更好的實現軟體而歸納出來的有效方法。
實現一種軟體架構,不同組成部分可能用到不同的設計模式,某一部分也可能可以採用不同的設計模式實現。

與網站的系統架構設計模式相關的知識