PEAA是軟體開發過程中的一種企業套用架構模式,分為事務腳本、表模組和服務層。
PEAA:Patterns Of Enterprise Application Architecture,企業套用架構模式。
1, 事務腳本 vs. 領域模型(Transaction Script vs. Domain Model)
作者基於功能的複雜性來區分兩種模式的使用時機,卻忽略了另外一個因素:功能的增加
領域模型將功能和數據置於同一個對象中,當需要增加新的功能時,只能通過為對象增加新的方法來實現,這造成了對象接口的不穩定,並無法在沒有原始碼的情況下進行功能增加
而事務腳本則可以靈活的艱酷舟進行功能的擴展:增加一個Command Handler子類,配置到系統中即可,不需要改變對象接口,不需要修改原始碼
進一步,可以使用Visitor模式淚連祝盛將領域模型和事務腳本粘合起來:核心或常用功能用領域模型建模,可以使用子類化消除複雜的邏輯判斷,而預留一個accept(visitor)接口來支持功能的擴展
總之,當數據變化不大,而功能經常增加時(不是同一個功能邏輯複雜性增加,而是新功能的增加),事務腳本配合Command模式理論上擁有更好的擴展性
2,表模組(Table Module)
是“管理者(Manager)”模式的變種,管理的不是通用的記憶體對象,而是“實際的或虛擬的表,及其中的行”,可用於隱藏數據層,甚至根據表之間的關係,可以建立一個Table Module的繼承層戀應府次
3,服務層(Service Layer)
初看到名字時,還以為基本是和“Enterprise.Solution.Patterns.Using.Microsoft.Dot.NET”中的“Service Interface”類似的模式,細看之下,發現正是最近想求證的一個模式,因為在自己的項目中混合使用了事務腳本和領域模型(前面1,事務腳本 vs. 領域模型中提到的問題和最終的方案,正是目前自己項目中的問題和方案),一直感覺不是很純粹的設計,現在發現,目前的設計基本類似Service layer,只需要再明確劃分一下“領域邏輯”和“套用邏輯”即可
書名: Patterns of Enterprise Application Architecture
企業套用架構模式Patterns of Enterprise Application Architecture
【原 書 名】 Patterns of Enterprise Application Architecture
【原出版社】 Addison-Wesley Professional
【作 者】Martin Fowler;David Rice;Matthew Foemmel;Edward Hieatt;Robert Mee
【出 版 社】 Addison-Wesley Professional 【書 號】 0321127420
【出版日期】 2003 年8月 【開 本】 16開 【頁 碼】 533 【版 次】1-1
【內容簡介】故采備
本書作者是當今面向對象軟體開發的權威,他在一組專家級合作者的幫助下,將40多種經常出現的解決方案轉化成模式,最終寫成這本能夠應拳兵用於任何一種企業套用平台的、關於解決方案的、不可或缺的手冊。本書獲得了2003年度美國軟體開發雜誌圖書類的生產效率獎和讀者選擇獎。本書分為兩大部分。第一部分是關於如何開發企業套用的簡單介紹。第二部分是本書的主體,是舉尋棗員關於模式的詳細參考手冊,每個模式都給出使用方法和實現信息,並配以詳細的Java代碼或C#代碼示例。此外,整本書中還用了大量UML圖來進一步闡明有關概念。
本書是為致力於設計和擊兆旬構建企業套用的軟體架構師、設計人員和編程人員而寫的,同時也可作為高等院校計算機專業及軟體學院相關課程的參考教材。
本書作者是當今面向對象軟體開發的權威,他在一組專家級合作者的幫助下,將40多種經常出現的解決方案轉化成模式,最終寫成這本能夠套用於任何一種企業套用平台的、關於解決方案的、不可或缺的手冊。本書獲得了2003年度美國軟體開發雜誌圖書類的生產效率獎和讀者選擇獎。本書分為兩大部分。第一部分是關於如何開發企業套用的簡單介紹。第二部分是本書的主體,是關於模式的詳細參考手冊,每個模式都給出使用方法和實現信息,並配以詳細的Java代碼或C#代碼示例。此外,整本書中還用了大量UML圖來進一步闡明有關概念。
本書是為致力於設計和構建企業套用的軟體架構師、設計人員和編程人員而寫的,同時也可作為高等院校計算機專業及軟體學院相關課程的參考教材。