Data Access Patterns (Chapter 1)

來源:互聯網
上載者:User

(自已看原版翻譯著看,英語太爛有錯請指出,請勿轉貼)

第1章 模式 Patterns
1.1 Decoupling Patterns
★Data Accessor
把物理資料存取的細節封裝到一個獨立的組件中,僅暴露出邏輯操作方法(logical operations)。該模式包含關於底層資料模型的應用程式代碼維護的知識,降低資料存取的藕合。
★Active Domain Object
把資料模型和資料存取細節封裝到相應的域對象(domain object)的實現中。Active domain objects把直接資料庫存取的代碼從應用程式中去除。
★Object/Relations Map
把域對象和關係資料之間的映射封裝到一個單獨的組件中。一個對象/關係圖(object/relational map)把應用程式代碼和域對象(domain objects)都從底層資料模型和資料存取存取細節中解脫獨立出來(decouples)。
★Layers
從各個抽象層次上專註資料存取方式,堆疊各個層級的應用程式特性。(Stack orthogonal application features that address data access issues with increasing levels of abstraction).

1.2 Resource Patterns
★Resource Decorator
以對應用程式代碼最小的影響,動態載入附屬行為到一個已經存在的資源。一個資源裝修器(resource decorator)使"擴充一個資源的功能且不需要子類化或改變它的實現"成為可能。
★Resource Pool
重複利用資源以最小化初始消耗。一個資源集區(Resource Pool)有效管理著資源,允許就用程式碼自由得分配這些資源。
★Resource Timer
自動釋放無效的資源。一個資源計時器(resource timer)減輕應用程式或使用者指派指定資源的影響。
★Resource Descriptor
隔離平台和資料來源(data source)相關行為到一個單獨的組件。一個資源描述器(resource descriptor)暴露指定平台的特性,涉及獨特的資料庫資源一般化,邏輯操作方法和使絕大部分資料存取代碼保留與實體環境的無關性。
★Retryer
假設在確定定義好的條件下,自動重試失敗的操作。這個模式使資料存取操作的容錯(fault-tolerance冗餘)成為可能。

1.3 Input and Output Patterns
★Selections Factory
基於對象發生標識產生查詢選擇。Gernerates query selections based on identity object attributes.
★Domain Object Factory
基於查詢結果資料形成域對象。Populates domain objects based on query result data.
★Update Factory
基於改良的域對象屬性產生更新操作。Generates update operations based on modified domain object attributes.
★Domain Object Assembler
使用一個統一的工廠架構(uniform factory framework)來組裝,持久化,並且刪除域對象(domain objects)。
★Paging Iterator
通過一組(collection)有效迭代(Iterates)的域對象(domain objects)描述查詢結果(query results)。

1.4 Cache Patterns
★Cache Accessor
把緩衝邏輯從資料模型和資料存取細節中剝離出來。
★Demand Cache
組裝一個懶惰緩衝(cache lazily)成為應用程式的請求資料。一個請求緩衝(demand cache)對不可預知資料的頻繁讀取時非常有效(A demand cache is useful for data that is read frequently but unpredictably)。
★Primed Cache
明確的填裝一個包含好一組資料的緩衝。一個預備緩衝(primed cache)對都是可預測的且需要頻繁訪問的資料是非常有效。
★Cache Search Sequence
插入快捷入口(shortcut entires)到一個緩衝中,來最佳化一組在未來需要查詢的操作。
★Cache Collector
合并緩衝中已經不能提供任何效能利益的項目(entires whose presence in the cache)。
★Cache Replicator
通過成倍的緩衝來複製操作。(Replicates operations across multiple caches)
★Cache Statistics
使用結構一致的統一表現層(using a consistent structure for uniform presentation)來記錄和發布緩衝和池的統計資訊。

1.5 Concurrency Patterns
★Transaction
原子化(atomic),一致化(consistent),隔離(isolated)並且以執久的方式(durable manner)來(ACID)執行並發單元。幾乎所有的資料庫平台從一開始就支援事務。
★Optimistic Lock
通過維護版本資訊防止遺漏資料庫更新操作。樂觀鎖使用應用程式語義在更新資料庫前來驗證一個工作拷貝的版本。
★Pessimistic Lock
附加鎖資訊到資料上來防止遺漏資料庫更新操作。清楚的悲觀鎖通過提供應用程式診斷(application diagnostics)更好的超過類似原生事務的支援(analogous native transaction support)。
★Compensating Transaction
當此單元並不是原生資料庫事務的一部分時,通過定義直接的補償操作(explicit compensating)來復原工作單元。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.