Постоянные неизменные объекты в реляционную базу данныхC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Постоянные неизменные объекты в реляционную базу данных

Сообщение Anonymous »

Я видел, как некоторые объектно -ориентированные эксперты советуют, чтобы объекты доменов (POCO) были неизменными. < /p>

то есть их состояние должно быть полностью определено на конструкции, и изменения в состоянии должны требовать создания совершенно нового экземпляра. Как реконструировать объект домена на основе данных в базе данных?class User
{
private string _emailAddress;

public User(string emailAddress, string password)
{
// ... generate hash & seed
_emailAddress = emailAddress;
}

public string PasswordHash { get; private set; }

public string PasswordSeed { get; private set; }

public bool ValidatePassword(string password)
{
// validate it against the stored hash
}
}
< /code>

В приведенном выше примере я хочу сохранить состояние объекта и получить его позже. Это означает хранение пароля, пароль и EmailAddress. < /P>

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

Подробнее здесь: https://stackoverflow.com/questions/695 ... l-database
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как сохранить постоянные значения в PHP и удалить все постоянные значения при закрытии вкладки
    Гость » » в форуме Php
    0 Ответы
    61 Просмотры
    Последнее сообщение Гость
  • Как сохранить постоянные значения в PHP и удалить все постоянные значения при закрытии вкладки
    Гость » » в форуме Html
    0 Ответы
    70 Просмотры
    Последнее сообщение Гость
  • Как сохранить постоянные значения в PHP и удалить все постоянные значения при закрытии вкладки
    Гость » » в форуме CSS
    0 Ответы
    45 Просмотры
    Последнее сообщение Гость
  • Вставка в реляционную таблицу
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Нужно ли копировать неизменные модели на новую схему версии в SwiftData во время миграции?
    Anonymous » » в форуме IOS
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»