На примере javascript. Есть класс для изменения html элемента (например, цвет). И чтобы каждый раз не создавать новый экземпляр класса (Factory шаблон проектирования), использовать тот же класс, но изменить его значение
current_object
на новое с помощью метода
setNewObject
class ClassName {
constructor() {
this.current_object = {};
}
setNewObject(object) {
this.current_object = object;
}
changeColor(color) {
this.current_object.css('color', color);
}
}
var mainObject = new ClassName();
var item1 = $('.item1');
mainObject.setNewObject(item1);
mainObject.changeColor('#000');
var item2 = $('.item2');
mainObject.setNewObject(item2);
mainObject.changeColor('#fff');
Этот код для изменения цвета для примера и такую простую задачу не надо усложнять. Но приложение может быть большим и правильно ли использовать такой способ проектирования (вместо создания нового класса установить его текущий объект и в этом объекте делать изменения)?