結(jié)合我們本次系列的第一篇博文中提到的上下文映射圖(傳送門:如何一步一步用DDD設(shè)計(jì)一個(gè)電商網(wǎng)站(一)—— 先理解核心概念),得知我們這個(gè)電商網(wǎng)站的核心域就是銷售子域。因?yàn)殡娮由虅?wù)是以信息網(wǎng)絡(luò)技術(shù)為手段,以商品交換為中心的商務(wù)活動(dòng),一個(gè)好的核心域設(shè)計(jì)可以大大提升企業(yè)的競(jìng)爭(zhēng)力和對(duì)市場(chǎng)變化的相應(yīng)速度。
那么我們開(kāi)始設(shè)計(jì)領(lǐng)域?qū)ο?。?duì)于設(shè)計(jì)領(lǐng)域?qū)ο蟮幕靖拍畈涣私獾目梢韵乳喿x我的該系列第二篇文章(傳送門:如何一步一步用DDD設(shè)計(jì)一個(gè)電商網(wǎng)站(二)—— 項(xiàng)目架構(gòu))。
二、定義幾個(gè)基類
我相信我們大部分人會(huì)以如下的方式去存放我們定義的基類,見(jiàn)圖1。
【圖1】
這是一種比較常規(guī)的技術(shù)分層思維方式產(chǎn)生的結(jié)果,在某些項(xiàng)目文件中或多或少有那么幾個(gè)"Base"、"Core"、"Common"等的文件夾存放著一些通用的類,它們起著對(duì)當(dāng)前項(xiàng)目中類的抽象、實(shí)現(xiàn)通用性支撐性功能的作用。然而在DDD中這些都應(yīng)屬于基礎(chǔ)設(shè)施層的事情,這樣能夠保證其他層專注于自身的職責(zé),不會(huì)把本應(yīng)內(nèi)聚的東西泄露到這些類中。如我們當(dāng)前的領(lǐng)域?qū)泳蛯W⒂陬I(lǐng)域建模,里面的概念全部與通用語(yǔ)言相關(guān)。說(shuō)干就干,搬到基礎(chǔ)設(shè)施層去,再取個(gè)能表達(dá)出一致概念的名字的模塊存放,如圖2。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26