Добрый день.
Есть, например, класс:
public class ClassX
{
public string S1 = "s1";
public string S2 = "s2";
...
}
Поля данного класса во время выполнения программы изменяются. Поля данного класса используются различными объекты. Читал, что для изменяемых данных не следует использовать статические классы.
Как лучше реализовать? С применением синглтон паттерна? Мне показалось, что использовать синглтон будет слишком "громоздко" для такого простого класса...
Лучше не использовать ни статику, ни классический синглтон. И у статики, и у синглтона есть один общий недостаток - они достаточно жёстко привязывают к себе зависящий от них код. Т.е. юнит тесты на них вы не напишете, в отдельный проект нормально не перенесёте, прорефакторить еще как-то не сможете.
Выделите для "статического" класса обычный нестатический интерфейс, напишите для него обычную нестатическую реализацию. И вставьте ее в качестве зависимости в код используя любой IoC-контейнер (IServiceCollection для ASP.NET Core, Autofac, StructureMap, любой другой). И предоставьте контроль за единственностью экземпляра контейнеру.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники