系統架構設計模式大全

目前系統架構大約有110多種設計模式,模式不是教條,模式僅僅是經驗的總結,下面小編爲大家整理了一些系統架構設計模式,一起來看看吧:

系統架構設計模式大全

Domain Model:定義了一個應用領域結構和工作流的精確模型,其中還包括它們的變化。

Layers:解決系統合理分層的問題。

Model-View-Controller:解決對用戶界面變化的支持問題。支持某一特定用戶界面的變化。

Presentation-Abstraction-Control:解決相同業務具有多種表現形式問題。

Microkernel:解決業務具有多種不同業務方法的問題。

Refelection:解決需要動態改變軟件系統結構和行爲的問題。

Pipes and Filters:解決算法的結構化並可以重新構建的問題。

Shared Repository:適用於網絡管理和控制系統領域。

Blackboard:解決運行中智能化改進處理方法的問題。

Domain Object:表現爲已經將自我完備的連貫功能和基礎性責任封裝成定義良好的實體,通過一個或多個”顯示接口”提供功能,並隱藏內部結構和實現。

Messaging:由一系列相互連接的MessageChannel和Message Router管理着跨網絡的不同服務間的消息交換。

Message Channel:解決如何把彼此協作的客戶端和服務連接起來的問題。

Message Router:解決如何根據條件接受”信道”消息的問題。

Message Translator:解決如何轉換消息格式的問題。

Message Endpoint:解決把數據轉換爲消息中間件能夠理解的形式的問題。

Publisher-Subscriber:爲了在應用中更好的把彼此關注的事件通知給其它領域對象。

Broker:通過一個代理管理器管理領域對象間遠程互操作的各個關鍵方面。

Client Proxy:解決客戶端應用與網絡基礎設施相互屏蔽的問題。

Requestor:解決應用代碼被基礎設施的代碼污染而影響可移植性的問題。

Invoker:解決服務代碼被基礎設施的代碼污染而影響可移植性的問題。

Client Request Handler:解決客戶端應用與通信相互影響的問題,它封裝了客戶端在統一的接口背後進行的進程間通信的細節。

Server Request Handler:解決服務端應用與通信相互影響的問題,封裝了服務器端在統一的接口背後進行的進程間通信的細節。

Reactor:解決在應用中避免使用多線程的問題。

Proactor:解決在多線程的背景下出現性能問題的缺陷。

Acceptor-Connector:把事件初始化與具體處理方法分離,從而提高可維護性。

Asynchronous Completion Token:解決異步到達的事件仍然能按一定順序處理的問題。

Explicit Interface:解決如何正確設計接口的問題。

Extension Interface:隨着時間的推移,組件的接口是會膨脹的,一個胖的接口將更脆弱。解決防止”胖”接口並分離接口。

Introspective Interface:解決公開內部信息接口的問題。

Dynamic Invocation Interface:解決同一個接口允許客戶端調用多種方法的問題。

Proxy:解決在同一個接口下通過代理屏蔽某些實現的問題。

Business Delegate:由本地業務代表來完成所有網絡任務,分離了應用和網絡處理的業務,減少了開發難度、提高了可理解性和可維護性。

Facade:解決屏蔽子系統的變化輻射到高層應用的問題。

Combined Method:解決多種相互關聯的方法不合理的分佈的問題。

Iterator:解決分佈式元素能夠方便迭代的問題。

Enumeration Method:解決減少外部迭代方式多次對聚合中的元素進行獨立訪問開銷的問題。

Batch Method:解決多次訪問加大網絡開銷的問題。

Encapsulated Implementation:解決對象劃分的基本原則和方法問題。

Composite:建立一種結構靈活的樹狀結構對象組織形式,形成“整體/部分”層級結構。

Half-Object plus Protocol:通過在分佈式系統中合理佈局對象,以減少不合理的網絡流量和服務器壓力。

Replicated Component Group:解決分佈式系統容錯的問題,複製的組件實現位於不同的網絡節點,並組成一個組件組。

Half-Sync/Half-Async:對併發系統中的異步和同步服務處理解耦合以簡化編程,但又不會過度地影響性能。

Leader/Followers:解決大批量小處理的環境下減少併發線程應用的問題。