2016-04-22 16 views
0

umlダイアグラムで次のように描画すると、FactoryクラスとValidatorクラスの関係はどのようになり、FactoryクラスのMyObjectクラスとYourObjectクラスの依存関係になりますか?工場または作成されたオブジェクトへの依存

class Factory { 

    public function create($data) { 
     if ($data['type'] === 'myType') { 
      return new MyObject(new ValidatorA()); 
     } else { 
      return new YourObject(new ValidatorB()); 
     } 
    } 
} 

interface Validator{ 
    public function validate(); 
} 

class ValidatorA implements Validator 
{ 
    public function validate() { 
    } 
} 

class ValidatorB implements Validator 
{ 
    public function validate() { 
    } 
} 

class MyObject() { 
    public function __construct(Validator $validator) { 

    } 
} 


class YourObject() { 
    public function __construct(Validator $validator) { 

    } 
} 

答えて

2

あなたはクライアントを持っていないので、工場出荷時のパターンは不完全であり、このようになります。

enter image description here

完全な工場は、次のようになります。

enter image description here

関連する問題