企業應用架構模式學習(八):通盤考慮

前面七章節介紹了系統的一個方面並探討了處理它的幾種選擇,如今咱們須要把全部方面放到一塊兒通盤考慮,在設計企業應用時,要使用哪些模式。 編程

本章內容主要是對全書中所涉及模式的一個初步介紹和認識。在架構中要對幾個方面作研究: 服務器

  • 極限編程(beck XP)
  • 持續集成(Fowler CI)
  • 測試驅動的開發(beck TDD)
  • 重構(Fowler refactoring)

從領域層開始

這個過程能夠從決定領域邏輯方法開始,主要有三種可選 架構

  • 事務腳本(最簡單,對事務邏輯都很好地封裝在功能完善的腳本中)
  • 表模塊(折中)
  • 領域模型(最難,面臨的問題異常複雜時,選用)

深刻到數據層

一旦選擇了領域層,就必須決定如何與數據源進行聯繫。 框架

事務腳本的數據源

兩個模式可選:行數據入口和表數據入口 測試

表模塊的數據源

表模式有一個好的記錄集框架,同時有表數據入口與之配置良好。 spa

領域模型的數據源

簡單的領域模型,使用活動記錄便可,也可以使用表數據入口或者行數據入口。 設計

複雜的領域模型,使用數據映射器。確保領域模型與其餘各層獨立。 事務

表現層

表現層與後面領域邏輯層分離。 資源

其餘分層方式

  1. Brown分層模型  

Brown開發

Fowler

表現層

表現層

控制層/中介層

表現層(應用控制器)

領域層

領域層

數據映射層

數據源層(數據映射器)

數據源層

數據源層

   

  1. Core J2EE 分層模型

       

Core J2EE

Fowler

客戶層

運行於客戶端的表現層

表現層

運行於服務器端的表現層

業務層

領域層

集成層

數據源層

資源層

與數據源層通訊的外部資源

   

  1. Microsoft DNA 分層模型

   

Microsoft DNA

Fowler

表現層

表現層

業務層

領域層

數據訪問層

數據源層

   

  1. Marinescu分層模型

   

Marinescu

Fowler

表現層

表現層

應用層

表現層(應用控制器)

服務層

領域層(服務層)

領域層

領域層(領域模型)

持久層

數據源層

   

  1. Nilsson 分層模型

       

Nilsson

Fowler

顧客層

表現層

顧客幫助層

表現層(應用控制器)

應用層

領域層(服務層)

領域層

領域層(領域模型)

持久訪問層

數據源層

公共存儲過程層

數據源層

私有存儲過程層

數據源層

相關文章
相關標籤/搜索