Что это за шаблон проектирования и насколько он удачен? В некоторых приложениях использовал подход, в котором фабрика возвращала объекты определенного класса по id. притом возвращала не сам объект а ссылку на него. Сам объект хранится в массиве в фабрике. Притом при всех запросах к фабрике по некоторому id возвращался всегда именно тот единственный экземпляр класса, которых хранил данные для этого id.
Тем самым я достигал того что во всем приложении всегда актуальная информация в этом экземпляре т.к. имеется только один экземпляр и все ссылаются только на него.
Так же в такой класс я добавлял методы для работы и изменения объекта.
Что это за шаблон проектирования? Вроде как синглтон а вроде и нет.
Как по вашему, он удачен? В моем случае он показал себя хорошо, однако я мог просто не попасть на какие-то проблемные места, что думаете?
На JS это выглядит примерно так:/// некоторый объект, который и будет предоставлять фабрика
class Obj {
constructor(id) {
this.id = id;
this.value = 0;
}
}
/// Фабрика
class Factory {
constructor () {
this.objects = {};
}
getById(id) {
if (id in this.objects)
return this.objects[id];
this.objects[id] = this.load(id);
return this.objects[id];
}
load(id) {
let obj = new Obj(id);
/* получение данных объекта */
return obj;
}
}
let factory = new Factory(); // инициализируем фабрику, она должна быть синглтоном
// использование
let a = factory.getById(123);
console.log(a.value); // 0
let b = factry.getById(123);
console.log(b.value); // 0
b.value = 10;
console.log(a.value); // 10
console.log(b.value); // 10

21 Авг 2019 в 06:24
198 +1
0
Ответы
Нет ответов
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 038 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир