考慮基於使用WinForms的MVC模式的正常客戶訂單應用程序。 視圖部分增長過多(超過4000個文件),需要將其拆分爲更小的部分。循環依賴關係
在這個例子中,我們將使用3個項目的視圖部分:
- 主要 - 有依賴於其他2個項目。用列表實例化表單。
- 客戶 - 有2種形式 - 客戶名單和客戶詳細信息。
- 訂單 - 有2個表格 - 訂單清單和訂單明細。
在客戶信息形成也有訂單客戶的名單。該列表是從OrdersController收到的,所以獲取它沒有問題。當用戶選擇一個訂單時,該列表將獲得它的guid並將其作爲參考訂單明細表單傳遞給它。
這意味着我們需要在客戶項目中引用訂單項目。(1)
但是,在訂單明細表中,還有一個鏈接指向訂單的客戶。點擊後,應打開「客戶詳細信息」表單。
這意味着我們需要在訂單項目中引用Customers項目。(2)
由式(1)和(2)我們將有訂單和客戶項目之間的循環依賴。
這又如何避免?某種插件架構?該項目已經開發完畢,最好的解決方案將涉及儘可能少的代碼更改。
項目如何相互影響? – 2008-09-23 13:22:22