Допустим, у меня есть простой класс с именем WebsterDictionary
, в котором есть функция, которая может взять слово и вернуть его определение. Возможно, есть другая функция, которая может принять определение и вернуть слово. Этот класс постоянно используется многими клиентами.
Чтобы упростить поиск, класс содержит переменную-член, которая представляет собой словарь в памяти, в котором хранятся слова и связанные с ними определения. Предположим, что словарь никогда не может измениться после инициализации - он постоянен и не будет изменяться в разных случаях.
Это хороший кандидат для статического класса? Я читал, что статические классы должны быть без состояний ... но у этого класса есть состояние (словарь в памяти), верно?
РЕДАКТИРОВАТЬ: Кроме того, если это становится статическим классом, когда я инициализирую Словарь, так как больше не будет конструктора? Нужно ли проверять, является ли ссылка на словарь нулевой при каждом вызове одного из статических методов?
Спасибо.