比方說,我有一個客戶誰擁有訂單和願望清單。在我的模型中,我有一個ClientRepo
,OrderRepo
和WishListRepo
。在控制器中,我應該在哪裏實例化這些存儲庫?讓他們成爲課堂級別的實例是個好主意嗎?我應該在ColdFusion Model Glue控制器中實例化我的模型?
component ClientController
{
ClientRepo = new ClientRepo();
OrderRepo = new OrderRepo();
WishListRepo = new WishListRepo();
public void function HomePage(any event)
{
var clientId = event.getValue("id");
var client = ClientRepo.getClientById(clientId);
var orders = OrderRepo.getOrdersForClientId(clientId);
// put the variables into the event object for the view to access
}
}
或者更好的設計是在功能內實例化它們嗎?
public void function HomePage(any event)
{
var ClientRepo = new ClientRepo();
var orderRepo = new OrderRepo();
var wishListRepo = new WishListRepo();
// rest of the code is the same
}
這裏的假設是,在ClientController
等功能需要訪問同一個存儲庫。
另外,控制器的壽命是多少?它是每次請求一次,每次會話一次還是每次應用一次?
謝謝!很有幫助! –