2017-08-30 53 views
0

處理依賴於MVC中另一個對象的對象屬性的最佳方式是什麼?MVA設計問題,如何處理依賴於其他對象的屬性

例子。對於汽車預定系統。我只想向已預訂汽車的用戶顯示一些細節(例如汽車的物理位置,以及儲物櫃通行碼以獲得鑰匙)。對於所有其他用戶,他們只能在提供日期範圍後才能看到該汽車是否可以預訂。

因此,「可供預訂的汽車」的屬性取決於現有的預訂歷史記錄,例如在給定的日期範圍內,我們是否有現有的預訂,如果不是,那麼汽車是可用的。這是在汽車的基本模型上不存在的屬性,並且只能通過對預訂歷史記錄控制器的功能調用來確定。

從我讀過的不是從另一個控制器調用函數的最佳實踐,那麼我該如何解決這個問題。

回答

0

我不會調用從一個控制器到另一個控制器的功能。更好的方法是將該功能轉移到服務中,然後將服務注入到控制器中。

因此,如果您創建一個新的汽車預訂,您應該調用函數(例如checkCarAvailability()),這將是CarService,從你的控制器類(例如BookingsController)

希望它能幫助。