我有一個域模型來處理投訴。許多功能都需要向外界公開,所以我可以創建一個公共可用的WCF REST服務來實現這一點。其他功能僅用於內部目的(管理員),所以我可以創建另一個內部託管的WCF服務來執行此操作。多服務使用的域模型?
結果是兩個服務使用相同的域模型。
從技術上講,這意味着兩個可部署單元(服務)使用相同的類庫 - 因此如果類庫發生更改,我必須部署這兩個服務。
這是一件壞事,有一個類庫變化很多被超過1個可部署單元使用?我是否應該讓外部服務使用內部服務而不是域模型,以便域模型僅由內部服務使用?
想知道最好的方法是什麼,確保以後沒有技術問題(易於維護和部署)。感謝您的建議!
編輯:我決定這樣做:公共服務將作爲WCF REST + JSON公開,並且將只負責將數據轉換爲移動應用程序所需的正確格式。此公共服務使用內部命令服務(具有完整域的WCF)來執行命令和內部查詢服務(ADO.NET數據服務)來執行查詢。
我會在這種情況下反對兩種模式,因爲它似乎兩個服務之間的中心區別並不在於行爲,而是在暴露的操作範圍內。 – eulerfx
的確如此,公共服務只負責以正確格式(JSON)轉換數據。 –