2021-09-13 06:44:02PChome書店

CQRS命令查詢職責分離模式


CQRS命令查詢職責分離模式
作者:ajay kumar 出版社:博碩文化 出版日期:2021-07-06 00:00:00

<內容簡介>

『我在北科大資工所兼差教軟體架構,課程結合領域驅動設計、Event Storming、CQRS、Clean Architecture、Event Sourcing與TDD。本書雖名為CQRS但卻不只是CQRS,若可融會貫通書中內容,對於靈活運用上述技術亦有莫大助益。』
-「搞笑談軟工」板主Teddy Chen 專文推薦

『台灣很少有關於CQRS模式(可以想成是讀寫分離模式)的專書,就算是外文書專門講CQRS模式的也不多,而我發現,在AI與爬蟲應用越來越多的時代,很多應用都需要使用這種技術,於是萌生引入CQRS書籍的意念。……台灣太需要關於這類議題的書籍了。』
-博碩文化 總編輯 陳錦輝

CQRS命令查詢職責分離模式
Command Query Responsibility Segregation

在DDD的領域中,CQRS模式經常被人誤解,應用在現實世界的軟體專案時更是如此。在本書中,我們將學習與CQRS有關的一切,例如:Event Sourcing、如何針對讀取與寫入的不同來設定資料庫等等。

首先,本書將介紹什麼是CQRS,探討其背後的精神與原則,以及它可以為專案帶來的好處。接下來,我們將說明CQRS的常見誤解與反模式(Anti-Pattern)。我們將討論一個專案範例,逐步且詳盡地展示CQRS實作,這個範例如同我們在現實世界中會遇到的需求,而本書將帶領各位體會CQRS的奧祕。

讀完這本書,你將對CQRS模式以及如何在軟體專案中實作CQRS有更紮實的理解。

在這本書中,你將學到:
?重構為任務型介面,並遠離CRUD思維
?實作命令與查詢處理器的修飾器
?分離出另外一個讀取專用的資料庫
?與CQRS相關的常見誤解,以及最佳實務建議

★目錄:

關於作者
目錄
導讀
推薦序
總編輯的話

Chapter 1:CQRS簡介
CQRS的由來
CQRS的必要性為何
真實情境中的CQRS
本章小結

Chapter 2:範例專案
議題領域說明
簡述應用程式碼
潛在的問題
本章小結

Chapter 3:重構為任務型介面
CRUD介面
任務型介面
拆解update方法
回顧:拆解update方法
任務型的使用者介面
新增與刪除方法
本章小結

Chapter 4:命令與查詢分離
第一道「命令」
CQS與CQRS在命令上的差異
CQRS中的命令與查詢
洋蔥式架構下的命令與查詢
命令與DTO物件
利用Spring框架來建立命令處理器
關於查詢
本章小結

Chapter 5:在命令與查詢處理器上實作修飾器
新需求來了!重試資料庫連線
實作資料庫重試修飾器
修飾設計模式
再來一份修飾器吧
命令與查詢處理器的最佳實務指引
本章小結

Chapter 6:簡化讀取資訊模型
關於讀取資訊模型
領域模型的分離
簡化讀取模型
重點回顧:簡化讀取模型
洋蔥式架構與讀取模型
本章小結

Chapter 7:查詢專用資料庫
關於可擴充性
實務上的資料層級分離實例
設計查詢專用資料庫
建立查詢專用資料庫
重點回顧:建立查詢專用資料庫
可擴充性
建立讀取資料庫時要三思的事情
本章小結

Chapter 8:同步命令與查詢資料庫
狀態驅動投影
同步式的狀態驅動投影
事件驅動投影
一致性
最終一致性
版本控制
CQRS與CAP定理
本章小結

Chapter 9:CQRS的最佳實務與常見誤解
CQRS與Event Sourcing
演化式設計
處理器中發出的命令與查詢
單向命令
CQRS與規格模式
全書總結

<作者簡介>

Ajay Kumar

?Amazon的作者頁面:amazon.com/author/ajaykumar

?Email:ajaycucek@gmail.com、ajaxreso@gmail.com

?Linkedin:https://www.linkedin.com/in/ajaycucek

?Facebook:https://www.facebook.com/ajaycucek

?Youtube:https://www.youtube.com/channel/UC1uXEebtqCLYxVdzirKZGIA

?Twitter:https://twitter.com/ajaycucek

?Instagram:https://www.instagram.com/ajaycucek/

?Skype:ajaycucek