




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
,上的內容就告訴我們要識別出一個一個的模型,其實,就是讓們識識別名詞也是很多人對于面向對象的反應。有一些設計方先建立數據庫表這種做法本質上也是從識別名詞入手的。我們在戰(zhàn)術設計中,要識別的名詞包括了實體和值對象。我們都知道,在業(yè)務處理中,有一類對象會有一定的生命周期。我以平臺上的單為例,它會在一次的過程中存在,而在它的生命周期中,它的一些屬性可能會有化,單地將它理解成數據庫里的對象,雖然這種理解并不完全正還有一類對象稱為值對象,它就表示一個值。那你現(xiàn)在應該懂了,我們?yōu)槭裁匆獙ο蠓譃閷嶓w和值對象?其實主要是為了分出值對象一方面,我們會把一些值對象當作實體,但其實這種對象并不需要一個標識符;另一方示,會用一個doube類型表價格,而這些東西其實都應該是一個值對象之所以說這里缺少了對象,原因就在于,這里用基本類型是沒有行為的。在DD。如用一將它起來種行將散代碼處,難以。其實,我們在討論面向對象的封裝時就已經了,只有數據的對象是封裝沒做好果,一個好的封裝應該是基于行為的。在DDD 下第 講,我就不戰(zhàn)術設計就給了我們這樣一個思考的維度:聚合。聚合(Aggregate)對象的組合,這些對象是什么關系呢?你可以理解為它們要同生共死。比如,一個訂單里有很多個訂單項,如果這個訂單作廢了,這些訂單項也就沒用了。所以,我們基本上可以把訂單和訂單項看成一個單元,訂單和訂單項就是一個聚合。DD(tn更新就一起更新,要刪除就一起刪除。只要你理解了它們是一個整體,你就不難理解為什么這些對象要一起操作了。(AggregateRoot從外部這合的。我上面單和單項為例,在訂單和訂單項組成的這個聚合里,訂單就是聚合根。因為你想它們,就要從訂單入手,你要通過訂單號找到訂單,然后,把相關的訂單項也一并拿出來。那如果不同的聚合之間有關系怎么辦?比如,我要在訂單項里知道到底買了哪個產品,這個時候,我在訂單項里保存的不是完整的產品信息,而是產品D們面,實體是有唯一標識符的。如果需要,我們就可以根據產品ID找出產品信息。當你糾結于技術時,先想想自己是不是解錯了問題。還記得 第27講的風暴嗎?我們在其中識別出了和動作,而故事的來龍去脈其實就是這些和動作。因為有了各種動作,各種角色才能夠生動地活躍起來,整個故動作的結果會產生出各種,也就是領域,領域相當于記錄了業(yè)務過程中最重要的事情。相對于DD中的其他概念,領域加入DDD其價值所在,它迅速地就成了DD中不可或缺的一個重要概念。布式系統(tǒng)此起彼伏的時代,領域可以幫助我們讓系統(tǒng)達成最終一致的狀態(tài)。 動詞,是我們在學習面向對象中最為缺少的一個環(huán)節(jié),很多都會教你如何識別名詞。在實際編碼中,我們會大量地使用像、rvice還有一類動作也比較特殊,就是創(chuàng)建對象的動作。顯然,這個時候還沒有對象,所以,這一類的動作也要放在領域服務上。這種動作對應的就是工廠(Facory)是設計模式中常提到的工廠,有了設計模式的基礎之后,你理解起來就容易多了。需要注意的是,由于聚合的存在,聚合里的各對象都要從聚合根創(chuàng)建出來,以保證其實,很多人熟悉的CRUD,可以對應成一個一個的領域服務。如果我們用戰(zhàn)術設計的做們把服務起來,業(yè)務基本型了要做系統(tǒng)定還會有一些雜七雜八的東西,比如,用戶要修改一個訂單,但首先要保證這個訂單是他DDD應用服務。,、認證等等。說到這里,我們經說出了應用服務和領域服務之間的區(qū)別。至此,我已經把戰(zhàn)術設計這個故事模板給你講了一遍,DDD也算完整地講了一遍了。你現(xiàn)在應該對DDD的各種基礎概念之間是個什么關系、如果要做領域驅動設計,要有怎樣一DDDghnrnonDD的書,是現(xiàn)在市面上比較好的DD學習材料。建議你先閱讀《領域驅動設計精粹》,這本書可以幫你快速;然后你再看《實現(xiàn)領域驅動設計》,這本書很厚,但講得要更細致一些。當然,想要真正想學會DDD今天,我們講了DDD別角色,也就是找到實體和值對象就是實體,只能通過字段組合才能識別出來的是值對象。然后我們應該找到角色之間的關系,也就是聚合。操作聚合關鍵點在于找到聚合根合根不存在時,聚合中的對象也就不再有價值了。有了角色及其關系,接下來就是找到各種動詞,讓故事生動起來。這里,我們講到了動作,也就是領域服務,以及動作的結果,也就是領域,還有創(chuàng)建對象的工廠倉庫些內成了最業(yè)務。一外的,我以放到來做,這就是應用服務。通過這幾講關于DDD的學習,你知道了如何識別出各種對象。通過前面設計原則、設計 不得售賣。頁面已增加防盜追蹤,將依 其上一 28|戰(zhàn)略設計:如何劃分系統(tǒng)的模塊下一 30|程序庫的設計:Moco是如何解決集成問題的言言標識符”,很正確又無用。只有結合了“是聚合的,我們可以一次都拿出來;不是聚合1 5322屬
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國餐飲設備市場發(fā)展趨勢規(guī)劃研究報告
- 2025-2030年中國鋼制車輪行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國采暖散熱器行業(yè)十三五規(guī)劃及發(fā)展前景分析報告
- 2025-2030年中國通信繼電器市場供需狀況及投資戰(zhàn)略研究報告
- 2025-2030年中國船舶涂料產業(yè)運營狀況與發(fā)展趨勢分析報告
- 2025-2030年中國聚酯多元醇行業(yè)市場現(xiàn)狀分析規(guī)劃研究報告
- 2025-2030年中國網絡借貸市場發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國精制棉市場運營現(xiàn)狀及投資前景規(guī)劃研究報告
- 2025-2030年中國眼視光行業(yè)發(fā)展趨勢規(guī)劃研究報告
- 實驗經濟學實驗設計案例
- 東軟入職合同
- 護理責任組長競聘
- 衛(wèi)生監(jiān)督村醫(yī)培訓課件
- 2024年新青島版(六三制)四年級下冊科學全冊精編復習資料
- 大學生創(chuàng)新創(chuàng)業(yè)基礎(創(chuàng)新創(chuàng)業(yè)課程)全套教學課件
- 礦山開工第一課
- 直腸癌術后的康復護理
- 性商老師課程培訓課件
- 貴州省教育科學規(guī)劃課題申請書
- 火針療法課件
評論
0/150
提交評論