我构建了小型mvc结构,我还创建了基于Reflection类的小型基本Dependency Invoker。 我的问题是哪一个是使用依赖类的最佳实践。 例如,我有类Call Request,我将使用。
public function method(Request $request);
我的问题是如何加载请求类
使用Singleton和非静态类var
class Request{
protected $var;
}
使用具有静态Var的新实例
class Request{
protected static $var;
}
答案 0 :(得分:0)
最干净的方法既不是那些方法。相反,您应该将DC传递给需要它的类构造函数。
拥有一个依赖容器是足够松散的,因为它不会过度使用全局结构(静态元素是全局的)。
答案 1 :(得分:0)
单例模式和“带静态的新实例”之间的选择并不能真正解决依赖注入问题。
但我建议您使用singleton design pattern访问您的Request
对象。
为什么?
Request
类的“唯一且唯一的对象实例”。依赖注入?
根据我的经验,我建议你看看factory design pattern。
您将集中创建对象,并且依赖注入将更容易和更清晰。
当然,这只是我的代码方式,我不假装有最佳实践,这应该是可以讨论的。
希望这会对你有所帮助。