在分解複雜的軟體系統時,軟體設計者用得最多的技術之一就是分層。
當用分層的觀點來考慮系統時,可以將各個子系統想象成按照「多層蛋糕」的形式來組織,每一層都依託在其下層之上。在這種組織方式下,上層使用了下層定義的各種服務,而下層對上層一無所知。另外,每一層對自己的上傳隱藏其下層的細節。因此,第4層使用第3層的服務,第3層使用第2層的服務,第4層無需知道第2層的細節。(當然,並非所有的分層架構都這麼隔絕,但絕大多數都是不透明的,或至少是幾乎不透明的。)
然而,分層架構中最困難的問題是決定建立哪些層次以及每一層的職責是什麼。
表現邏輯處理使用者與軟體間的互動。
資料來源邏輯主要關注與其他系統的互動,這些系統將代表應用完成相關的任務。
最後一部分就是領域邏輯,也稱為業務邏輯。
伴隨著分離,還有一條關於依賴性的普遍原則:領域層和資料來源層絕對不要依賴於表現層。也就是說,在領域層和資料來源層的**中,不要出現呼叫表現層**的情況。
使用領域邏輯時,其中乙個最困難的部分就是區分什麼是領域邏輯,什麼是其他邏輯。一種不太正規的測試辦法就是:假想向系統中增加乙個完全不同的新層,例如為web應用增加乙個命令列介面層。如果在這個過程中,發現需要重複實現某些功能,則說明有一些本應該在領域層實現的邏輯,現在在表現層實現了。
企業應用架構模式讀書筆記(一)
martin fowler這本 企業應用架構模式 應該是家喻戶曉了,買了也有些日子,一直沒有拿起來看,現在終於輪到了這本書。這本書大致分為兩部分,前8章為第乙個部分,對企業級開發要涉及的東西進行初步的介紹,然後還概括性的講解了一些模式的適用場景和優缺點。第二部分是模式的列表,這些模式的分類就是按照第...
《企業應用架構模式》讀書筆記 4
第九章 領域邏輯模型 坦白來講,這本書到目前為止,前9章都看了有2遍,有些可以理解,有些還是不能理解。領域邏輯模型這一章,對於書中的話 對於程式和例子,都可以明白,但對於思想 該怎麼使用還是似懂非懂。以前做桌面系統多一些,設計和編碼多用的是observer,adapter之類的模式 對於非桌面系統,...
第一章讀書筆記
本章內容主要講的是android系統移植和驅動開發概述,通過本章的學習知道了學習linux驅動程式設計一定要了解linux驅動只與linux核心有關,與客戶的使用的linux系統無關。也就是說,不管是那個linux系統,只要使用了同樣的linux核心,驅動就可以通過。唯一可以判斷的linux核心是否...