2016-12-02 54 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容易,本本必须存储属性和指针功能。所以他们会花费不同的内存 –

相关问题