Не удалось сформулировать это в правильном заголовке, извините.
Мне интересно, какая польза от статического поля по сравнению с аргументом, который вы продолжаете передавать, пока он не достигнет своего пункта назначения.
Пример:
Xna использует GameTime в своей структуре, которая передается дочерним функциям в функции обновления
protected override void Update(GameTime gameTime)
{
base.Update(gameTime);
world.Update(gameTime);
}
//in World class
public void Update(GameTime gametime)
{
//draw all game objects
for (int i = 0; i < entities.Count; i++)
{
entities[i].Update(gametime);
}
}
Есть ли какая-то польза от этого, в отличие от хранения где-нибудь статической переменной в игре, обновления этого в корневом классе раньше всего и доступа к этой статической переменной из дочерних классов.
Я всегда вижу передачу аргументов в библиотеках. Но кажется гораздо более «удобным» просто держать его где-то статичным.