小编max*_*ool的帖子

克隆依赖项副本(Dependency Injection)是否有意义?

假设我有一个类,该类具有一些依赖于另一个对象的方法以执行其职责。不同之处在于它们都依赖于同一对象类,但是需要该类的不同实例。更具体地说,每个方法都需要一个干净的类实例,因为这些方法将修改依赖项的状态。

这是我想到的一个简单示例。

class Dependency {
    public $Property;
}


class Something {
    public function doSomething() {
        // Do stuff
        $dep = new Dependency();
        $dep->Property = 'blah';
    }

    public function doSomethingElse() {
       // Do different stuff
       $dep = new Dependency(); 
       $dep->Property = 'blah blah';
    }
}
Run Code Online (Sandbox Code Playgroud)

从技术上讲,我可以做到这一点。

class Something {
    public function doSomething(Dependency $dep = null) {
        $dep = $dep && is_null($dep->Property) ? $dep : new Dependency();
        $dep->Property = 'blah';
    }

    public function doSomethingElse(Dependency $dep = null) {
       $dep = $dep && …
Run Code Online (Sandbox Code Playgroud)

php oop dependency-injection

5
推荐指数
1
解决办法
432
查看次数

标签 统计

dependency-injection ×1

oop ×1

php ×1