Идентификатор объекта в качестве аргумента конструктора или через метод установки?

Если у вас есть объект, такой как UserEntity, свойство idкоторого получено из его первичного ключа в базе данных — следует ли предоставить метод установки, такой как setId()?

Некоторые аргументы против:

  • открывает двери для возможных случайных перезаписей других пользовательских объектов в БД
  • два (или более) пользовательских объекта могут существовать в любое время с одним и тем же id, но с разными свойствами . (если бы я вытащил 3 разных пользователей из базы данных и установил их значения idодинаковыми)

Некоторые аргументы для:

  • если мне НЕ НУЖНО создавать экземпляр UserEntity с помощью idв конструкторе (поскольку у него есть метод установки), я могу использовать методы объекта UserEntity с временными/фальшивыми/новыми пользовательскими значениями... без необходимости сначала сохранять его.

Предоставить установщик (и не форсировать idв конструкторе) или форсировать idв конструкторе и удалить установщик?

5
задан johnnietheblack 22 March 2012 в 21:09
поделиться