Зависимость от фабрики или от созданного объекта

Если бы я нарисовал следующее на диаграмме uml, как бы выглядела связь между фабрикой и классами Validator, и являются ли классы MyObject и YourObject классами Factory?

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) {

}
}

0

Решение

Поскольку у вас нет клиента, шаблон фабрики является неполным и будет выглядеть так:

введите описание изображения здесь

Полная фабрика выглядит так:

введите описание изображения здесь

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector