Сущности в дизайне, управляемом предметной областью

Я читаю книгу Эрика Эванса о DDD, и у меня есть вопрос к следующей цитате.Как сделать метод equals () , когда не следует использовать атрибуты? Я использую JPA, и у меня есть уникальный атрибут id, но он не устанавливается, пока вы не сохраните сущность. Ну так что ты делаешь? Я реализовал метод equals на основе атрибутов, и я понимаю, почему вам не следует этого делать, потому что он не удался в моем проекте.

Раздел о сущностях:

Когда объект отличается своей идентичностью, а не своей атрибуты, сделайте это основным для определения в модели. Держать определение класса простое и ориентировано на непрерывность жизненного цикла и личность. Определите способы различения каждого объекта независимо от его форма или история. Будьте внимательны к требованиям, требующим соответствия объекты по атрибутам. Определите операцию, которая гарантированно получить уникальный результат для каждого объекта, возможно, добавив символ, который гарантированно уникален. Это средство идентификации может поступать извне, или это может быть произвольный идентификатор, созданный и для системы, но она должна соответствовать тождеству различия в модели. Модель должна определять, что значит быть тоже самое.

http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215

5
задан LuckyLuke 24 February 2012 в 09:35
поделиться