Для большинства предметных областей не составляет труда выделить структуры данных, ошибочно приняв их за объекты. Значительно сложнее определить объекты, отвечающие за динамику изменения этих данных. Люди зачастую идут по простому пути и включают операции над данными в объекты-данные. Но системы часто обладают поведением, которое не может быть естественным образом назначено какому-либо объекту-данным. Такое динамическое поведение должно выражаться в отдельных объектах.
Использование объектов, напрямую соответствующих реальным сущностям, позволяет свести к минимуму семантический разрыв между моделью и реальностью.