我构建了小型mvc结构,还创建了基于反射类的小型基本依赖调用程序。我的问题是,哪一个是使用依赖类的最佳实践。例如,我有一个类Call Request,我将使用它。
public function method(Request $request);
我的问题是如何加载请求类
使用Singleton和非静态类var
class Request{ protected $var; }
使用静态无功的新实例
class Request{ protected static $var; }
在单例模式和"带静态的新实例"之间进行选择并不能真正解决依赖注入问题。
但是,我建议您使用singleton设计模式来访问Request
对象。
为什么
- 这种模式适合您的需要,它尊重
Request
类的"唯一对象实例" - 开发商应该意识到这种结构,这是可持续性的证明
- 封装
- 设计模式99%是"最佳实践"
依赖项注入呢
根据我的经验,我建议你看看工厂的设计模式。
您将集中创建对象,依赖项注入将更加容易和干净。
当然,这只是我的编码方式,我并不假装拥有最佳实践,这应该是可以讨论的。
希望这对你有帮助。
最干净的方法不是这两种方法。相反,您应该将DC传递给需要它的类构造函数
有一个依赖容器就足够宽松了,因为它不会过度使用全局构造(静态元素是全局的)。