抱歉的天真的問題;我仍然在理解DDD。假設我有一個IOrderService
。這是我會有一個方法GetNewOrderID
?或者,我想更一般地說,在DDD方案中分配新訂單的正確方法是什麼?分配的訂單ID在哪裏?
3
A
回答
0
除非我誤解DDD那麼它是不是一個幼稚的問題 - 而不是當它是不清楚的地方的責任則沒有足夠的領域已經考察了/明白。事情是這樣:
- 什麼是訂單ID, 什麼樣的信息進入一個 訂單ID的格式。
- 是否有 要求在得到 一個新的OrderID點保存任何 - 喜歡誰要求 它,等
- 是否有請求要求 ,但未被使用的訂單ID 被釋放?
一個或一個以上的這些要求可能澄清有關情況。
0
我喜歡聽商業用語。例如,如果他們談論目錄訂單和電話訂單都是訂單來源,那麼我可能會有一個OrderSource或IOrderSource而不是OrderService--最後一個是代碼說話而不是業務說話。我可能有兩個實現,或者只是一個使用標識符來表示「這是來自手機」的實現,具體取決於進程的不同。
如果商人們談論從他們的服務得到的ID,那麼,做到這一點。儘管他們更傾向於從OrderSource接收訂單,將其分派到Warehouse或創建OrderForm並接收ReferenceNumber。該ReferenceNumber可能是主鍵,但它可能不是Id。
業務用能指導你寫一個自己的過程以及相匹配的軟件語言。讓事情變得容易改變,並幫助你發現是否有一個可以使用一些學習的領域的方面。設計模式與您以前的設計模式完全相同;如果業務有一些更好的條款,我就不會在這些後面打電話給我的代碼。看到DDD的無所不在的語言,祝你好運!
相關問題
- 1. 將訂單ID分配給其產品
- 2. 處理分配在哪裏?
- 3. Magento訂單數據存儲在哪裏?
- 4. CS-Cart訂單項存儲在哪裏?
- 5. 在哪裏Mysql訂單優先級
- 6. 分配恆定的NSStrings在哪裏?
- 7. 資源的ID在哪裏?
- 8. Firebase存儲ID的每個訂閱設備在哪裏?
- 9. android:在哪裏分配圖像資源?
- 10. Iphone:在哪裏爲dataSource分配內存?
- 11. 共享內存在哪裏分配?
- 12. 非託管資源分配在哪裏
- 13. 靜態類/成員分配在哪裏?
- 14. Direct3D11在哪裏分配資源對象?
- 15. 找出位圖分配在哪裏?
- 16. 部署標識與預訂不匹配。我的TemporaryKey.pfx在哪裏?
- 17. 從哪裏SugarCRM的分配值$ fields.date_modified
- 18. 我的流媒體訂閱在哪裏?
- 19. 哪個代碼塊要寫入以及要在哪裏分配和分配?
- 20. 從訂單ID
- 21. 在哪裏可以獲得joomla的訂單表格插件1.7
- 22. 用於上傳MWS訂單確認的PHP API在哪裏?
- 23. 單線在哪裏?
- 24. 列表分配去了哪裏?
- 25. 哪裏CLR分配本地內存池?
- 26. 應該在哪裏訂閱AppDomain.UnhandledException?
- 27. 「id」字面量的定義在哪裏?
- 28. SQL選擇'列'中的id在哪裏
- 29. 在哪裏保留用戶的ID?
- 30. 在哪裏存儲配置
謝謝!假設訂單ID是按順序分配的,當需要訂購ID時可能需要保存,並且沒有要求釋放請求但未使用的訂單ID。 – JonathanS 2010-08-03 16:31:39
在這種情況下,根據您提供的信息,我會說是的,它可能是由接口定義的方法,並在從接口繼承的類中實現。再次,正如我所看到的,DDD是一種看待要開發什麼的方法。然後使用好的設計和TDD來確保以穩定的方式實現可測試的。在這種情況下,如果你想要一個序列號,那麼它應該集中處理(一種服務),以便它可以處理多個用戶。然後,OrderID是否實際上是數據庫中的標識列,取決於系統設計。 – 2010-08-03 16:41:53