2010-12-16 49 views
1

我正在編寫和組織我未完成的應用程序,我只是想知道天氣最好有很多小模型,所以你只需要在你需要時加載你需要的東西;或者製作幾個大型模型,所以它只是加載所有功能,即使你只需要其中的一個功能。MVC:很多小模型或幾個大模型?

任何幫助,將不勝感激。謝謝。

回答

6

從性能角度來看,最好只有幾個大型模型(文件)。我相信這是Cakephp使用(不跟蹤它)速度非常緩慢的主要原因之一。只需看看dependencies Cakephp had

但是從設計角度來看,由於SOLID原則,最好有很多小型模型。例如,一個對象應該只有一個責任。

但是,當你轉向生產時,我認爲你應該把所有的php文件合併到一對單獨的文件中,以減少require(I/O)語句。 I/O是一個性能殺手。

+0

很好的答案,非常豐富!謝謝 – Elgoog 2010-12-16 09:32:12

+0

任何人有任何消息來源說/證明需要/包括是這樣的性能殺手? – jamietelin 2010-12-16 10:13:18

+0

@Jamietelin,「依賴cakephp了」=> http://talks.php.net/show/froscon08/25鏈接已經證實了它。另外,當我做了一個快速的谷歌搜索已經有一個關於這個SO主題=> http://stackoverflow.com/questions/1114843/php-performance-hampered-by-require。此鏈接還解釋了系統調用是由include/require/etc => http://www.techyouruniverse.com/software/php-performance-tip-require-versus-require_once – Alfred 2010-12-16 11:08:21

2

我實際上認爲它不是那樣黑白,而是取決於它們的使用方式。如果您有一組將始終一起使用的功能,那麼從純粹的性能角度來看,將它們組合在一個文件中是有意義的。

基本上你想避免使用大量不相關的代碼來製作大型模型,因爲你加載和不使用的所有代碼都是浪費,但同時你想保持你的文件數量低。

嘗試將考慮性能和邏輯混合的模型分組。