Я бачу безліч миттєвих класів у світі C ++ та Java, які не мають жодного стану.
Я дійсно не можу зрозуміти, чому люди так роблять, вони можуть просто використовувати простір імен з вільними функціями на C ++ або клас із приватним конструктором і лише статичними методами на Java.
Єдина користь, про яку я можу подумати - це те, що вам не доведеться змінювати більшу частину коду, якщо згодом вирішите, що вам потрібно інша реалізація в певних ситуаціях. Але це не випадок передчасного дизайну? Його можна перетворити на клас пізніше, коли / якщо стане відповідним.
Я помиляюся? Чи це не OOP, якщо я не вкладаю все в об'єкти (тобто інстанційні класи)? Тоді чому в стандартних бібліотеках C ++ і Java так багато просторів імен утиліт та класів?
Оновлення: я, звичайно, бачив багато прикладів цього в своїх попередніх роботах, але я намагаюся знайти приклади з відкритим кодом, тому, можливо, це все не так часто. Все-таки мені цікаво, чому це роблять люди, і наскільки це звичайно.