我有一个包含配置以及一些特定于状态的方法的 State 类。我还有一个工厂类,我从中继承了我的 MVC 类,它也引用了这个 State 对象。这确保我所有的 MVC 对象都具有特定的与状态相关的功能。例如,我的 State 类包括设置和读取缓存或会话的方法。
我的 Factory 类有许多只是包装器的方法,如下所示:
public function myFunction($data){
$this->State->myFunction($data);
}
想法是这些方法是在 Factory 中定义的,但实际上是由 State 对象执行的。这允许我在编写代码时调用:
$this->myFunction();
而不是包含 State 的较长的。
我对 PHP 内部的工作方式知之甚少,但这有效吗?我的想法是,因为我通常只有一个 State 对象实例,所以在我的 Factory 类中包含方法包装器会更好,因为否则这些方法将包含很多大部分时间不使用的代码。但我不确定 PHP 在内部是如何工作的。
有时我可以有十几个具有父工厂类的对象,并且它们都引用同一个 State 对象。在 Factory 中定义包装器方法是否有效,只需调用 State 的方法,而不是直接处理 State?还是我只是为整个系统增加了额外的开销?
我的想法是,如果 Factory 只是一个可继承的类并包含许多功能的包装器,那么我可以更有效地简化开发。如果您继承的类具有包装器而不是方法中完全定义的代码,它会节省内存吗?