У меня есть множество объектов, которые все ссылаются на данные из одного объекта, и я не совсем уверен, как назвать вещи внутренне.
Когда моя игра начинается, я загружаю кучу данных, связанных соружие из файла JSON в центральную базу данных с такой информацией, как имя, описание, урон и т. д. Всякий раз, когда я создаю физическую копию этого оружия в игровом мире, я создаю объект, который ссылается на эти исходные данные со своими собственными данными (например, положение, владелец и т. д.).Таким образом, если у меня есть 50 железных топоров, лежащих в игровом мире, их данные довольно легко сохраняются в файле сохранения, и любые изменения баланса также будут отражаться во всех элементах.
Код выглядит примерно так:
class ItemRecord
{
public string Name { get; }
public string Description { get; }
// etc
}
class Item
{
private ItemRecord itemRecord;
public string Name { get { return itemRecord.Name; } }
public string Description { get { return itemRecord.Description; } }
Item(ItemRecord itemRecord) { this.itemRecord = itemRecord; }
// etc
}
Мне не очень нравится название "ItemRecord", так как оно ничего не передает, и я уверен, что у него есть имя шаблона проектирования, которое я мог бы использовать вместо этого.
Какие-либо советы о том, где я мог бы узнать больше об этом шаблоне?
Спасибо.