1
我有一個使用MVC模式的問題;我創建了多個模型,我使用它們中的每一個來處理分組任務(連接,數據庫等)。MVC:這些模型應該是靜態的嗎?
問題是,在創建基本模型後,我結束了這樣的代碼(在控制器內)。
class Controller
{
function doStuffz()
{
$accounts = new AccountsModel();
$DB = new DBModel();
$HTML = new HTMLModel();
//More models...
$accountData = $accounts->getAccount($id);
$DB->saveAccount($accountData);
$HTML->display($accountData);
//More code...
}
}
我已經內(幾乎)在我的課的所有功能創建模型的實例,即使它看起來絕對精品,使之靜。
我read this questions about when to use static methods,應用「經驗法則」後,似乎所有這些模型應該是靜態的,這是MVC模式中的一個不好的做法?
如果我做這些模型的靜態,我可能會落得這樣的:
class Controller
{
function doStuffz()
{
$accountData = AccountModel::getAccount($id);
DBModel::saveAccount($accountData);
HTMLModel::display($accountData);
//More code...
}
}
裏面居然讓我更有意義,也它看起來更清潔和更短。
它們與模型有什麼不同?我的意思是,我看過類似「模型」的類,它完全像DBModel(運行查詢)。 – Abdulaziz 2013-03-25 02:10:03
@AzizAG,好的。你抓住了我:^)。我不知道如何真正將服務和模型分開。我喜歡這[問題](http://stackoverflow.com/questions/5702391/mvcs-model-view-controller-service)。 – sectus 2013-03-25 03:25:26
無論該類是服務還是模型,它都應該是靜態的。很公平。 – Abdulaziz 2013-03-26 02:41:09