У меня есть класс Person, и я хотел бы использовать шаблон Strategy для добавления поведения хранилища. Как то так
interface Storage{
public function store();
}
class LocalStorage implements Storage(){
public function store(){
..
// save in a file
..
}
}
class Person{
private $behaviourStorage;
private $name;
private $age;
public function __construct(Storage $objStorage,$name,$age) {
$this->behaviourStorage = $objStorage;
}
public function Store(){
$this->behaviourStorage->store();
}
}
$objPerson = new Person(new LocalStorage(),'John',32);
Мой вопрос: как я могу использовать поведение хранилища для сохранения информации об объекте человека? Как передать объект в LocalStorage, чтобы он знал, что сохранить?
Возможно, в конце концов это не правильный шаблон проектирования, но цель ясна: реализовать различные способы хранения для объекта person.