這次我們構(gòu)建業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯是一個項目、產(chǎn)品的核心,也是現(xiàn)實世界某種工作流程在代碼層面的體現(xiàn)。
所以,業(yè)務(wù)邏輯的合理組織構(gòu)造,或更真實地反映現(xiàn)實業(yè)務(wù)操作,對項目的成功與否非常重要
現(xiàn)在業(yè)界對業(yè)務(wù)邏輯層的開發(fā),一般會參考Martin Fowler大師提出來的針對業(yè)務(wù)層開發(fā)的四種模式
分別是面向過程的事務(wù)腳本、表模塊模式,面向?qū)ο蟮幕顒佑涗浥c領(lǐng)域開發(fā)模式
我們要做的就是領(lǐng)域驅(qū)動開發(fā)模式,注意標題中的“失血模式”,我們的業(yè)務(wù)領(lǐng)域模型不是貧血與充血,而是失血;
這意味著領(lǐng)域模型只有g(shù)et;set;,模型的所有行為都在領(lǐng)域模型之外,我們的領(lǐng)域邏輯在IRepository組件中、應(yīng)用邏輯在Application組件中