分層設(shè)計這一塊的設(shè)計比較直觀,整個應(yīng)用層劃分為三個大的層次,分別是App層,Domain層和Repostiory層。
1.App層主要負責(zé)獲取輸入,組裝context,做輸入校驗,發(fā)送消息給領(lǐng)域?qū)幼鰳I(yè)務(wù)處理,監(jiān)聽確認消息,如果需要的話使用MetaQ進行消息通知;2.Domain層主要是通過領(lǐng)域服務(wù)(Domain Service),領(lǐng)域?qū)ο螅―omain Object)的交互,對上層提供業(yè)務(wù)邏輯的處理,然后調(diào)用下層Repository做持久化處理;3.Repository層主要負責(zé)數(shù)據(jù)的CRUD操作,這里我們借用了盒馬的數(shù)據(jù)通道(Tunnel)的概念,通過Tunnel的抽象概念來屏蔽具體的數(shù)據(jù)來源,來源可以是MySQL,NoSql,Search,甚至是HSF等。