deepslam
Новичок
Всем привет!
Реализовывая функционал в очередном проекте решил применить шаблон Декоратор и столкнулся с проблемой.
Суть ее в том, что я хотел динамически добавлять 1 одному (постоянному) объекту свойства.
Реализовал это с помощью шаблона Декоратор по схеме, описанной в книге Шаблоны проектирования и получилось что то вроде:
	
	
	
		
На выходе же получился совершенно новый объект, у которого всегда сохраняется только последнее свойство.
Т.е. выходит, что Декоратор не подходит в данном случае?
Я немного исправил код и получил нечто вроде:
	
	
	
		
Т.е. декораторы в своем абстрактном методое decorate изменяют мой объект.
Корректно ли так применять этот шаблон?
Каким образом Вы меняете свойства у объектов динамически? Именно у объектов, потому как если метод что то возвращает, а не изменяет свойства переданного ему объекта, то все прекрасно работает.
								Реализовывая функционал в очередном проекте решил применить шаблон Декоратор и столкнулся с проблемой.
Суть ее в том, что я хотел динамически добавлять 1 одному (постоянному) объекту свойства.
Реализовал это с помощью шаблона Декоратор по схеме, описанной в книге Шаблоны проектирования и получилось что то вроде:
		PHP:
	
	$obj    = new Object();
$obj    = new ObjectDecorator($obj);
$obj    = new ObjectDecorator2($obj);
	Т.е. выходит, что Декоратор не подходит в данном случае?
Я немного исправил код и получил нечто вроде:
		PHP:
	
	$obj    = new Object()
new ObjectDecorator($obj);
new ObjectDecorator2($obj);
	Корректно ли так применять этот шаблон?
Каким образом Вы меняете свойства у объектов динамически? Именно у объектов, потому как если метод что то возвращает, а не изменяет свойства переданного ему объекта, то все прекрасно работает.
	            

