Решая, является ли что-то объектом или нет, спросите себя, имеет ли оно следующее ...
Состояние
Имеет ли кандидат значительное состояние? Если этого не произойдет, то все методы на нем, вероятно, будут только слабо связаны. В этом случае вы, вероятно, определили библиотеку модуля многоразовых функций.
Поведение
Действительно ли объект что-то делает в домене? Например, он просто полон аксессоров, которые манипулируют структурой или записью.
Идентичность
Действительно ли объект существует в домене как идентифицируемая сущность? Есть ли какой-то врожденный аспект сущности, который отличает ее от аналогичных других сущностей? Дверная ручка является примером - на самом деле она не имеет идентичности, поскольку одна дверная ручка, вероятно, будет такой же, как другая.
Если вы ответите «нет» на некоторые из них, то, вероятно, у вас нет объекта - и это прекрасно, библиотека или модуль могут быть ценным артефактом для повторного использования
Прежде всего, не беспокойтесь об этом ...
Я бы тоже не стал сильно беспокоиться об аспекте повторного использования. Проектирование иерархий классов похоже на разработку масштабируемого программного обеспечения - его слишком легко оптимизировать заранее. Нарисуйте дизайн на листе бумаги и, если можете, проверьте дизайн с помощью нескольких нарисованных от руки диаграмм взаимодействия. Вы обнаружите, что со временем у вас появится реальное понимание того, что действительно ценно и многократно используется.