2016-12-02 58 views
1

我對MVC設計模型層感到困惑。 看完這篇文章後:Models in mvc (best practices, PHP)PHP - 使用和不使用內存方法的對象之間的區別?

正如你所看到的,在上面的文章中有兩種設計模型圖層的方法。

假設你有一個Book模型:

第一種方式:Book純粹是與屬性的對象像Bookidtitle ...

第二種方式Book甚至有idtitle屬性,它也有returnPage,searchPage,allBooks方法。

如果我創建10.000書籍對象,內存使用情況有什麼區別 - 所有書籍都有相同的方法,比較書籍只有屬性?

我是否應該在其他類中分開邏輯方法returnPagesearchPage

+0

類方法一次存儲在內存中;屬性存儲爲每個實例 –

+0

@MarkBaker所以這意味着這兩種方式在內存使用方面沒有任何區別? – TomSawyer

回答

0

該類的每個實例都將存儲函數的方法的指針和屬性,該指針將存儲該類的一次。當調用方法函數形成實例時,它將跳轉到與方法指針一起存儲的函數,然後執行該函數。當函數執行時,函數調用者將使用調用棧來存儲臨時值。每個調用者都有自己的調用堆棧,因此調用類功能時實例之間不會有衝突。

+0

不要明白你的觀點,請直接回答這個問題,它們有什麼區別,是否影響到這兩種設計模型的內存使用情況? – TomSawyer

+0

好吧,讓IT容易,本本必須存儲屬性和指針功能。所以他們會花費不同的內存 –

相關問題