Только начал вникать в DDD Есть две сущности оператор и диалог. У оператора есть параметр Сектор, к которому относится оператор. У диалога тоже есть такой параметр, определяет, на какой сектор поступило обращение. По BL диалог может, отработать не обязательно оператор того же сектора. В данном случае Sector будет Value Object или Entity? Для оптимизации, то в таблице диалогов нет смысла хранить полное инфо о секторе, тогда Sector будет отдельной таблицей с полем id? И если есть уже id то это уже сущность? В дальнейшем, может появится ещё 1 сектор. Вот здесь и запутался.
public class Operator // Entity
{
public int Id { get; }
public string Name { get; }
public Sector Sector { get; }
//ctor
//methods
}
public class Dialog // Entity
{
public int Id { get; }
public string Name { get; }
public int OperatorId { get; }
public Sector Sector { get; }
//ctor
//methods
}
public class Sector // Entity? ValueObject?
{
public string Name { get; }
public Address Address { get; }
}
С Address я уже понял, что это будет ValueObject, т.к. по бл мне не важно это, только наличие его.
ValueObject - уникальная и взаимозаменяемая штука.
Обычно это что-то элементарное, вида статус таски (В работе, закрыта, черновик).
Если ваши сектора - штука уникальная и например можно создать два абсолютно одинаковых, но ссылки при этом собственные (ну т.е. у двух операторов имя сектора одинаковое, адрес секторов одинаковый, но это разные записи) то это сущности.
Если сектора например создаются на создании базы данных, а потом оператор (или кто ещё) может их только выбирать из готового списка - скорее всего сгодится ValueObject.
В целом, я обычно иду от "сущностей". Является ли сектор - сущностью? Есть ли у него жизненный цикл? (черновик, утвержденная сущность, закрытая запись сущности) Есть ли разница между секторами по названию? (т.е. достаточно ли названия для уникальной идентификации или нет)
Плюс, учитывая неизменность ValueObject-ов, они часто зашиваются на уровне разработки, в отличие от сущностей.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравсвтуйтеТакая проблема, открываю xlsx файл, записываю данные с него(предположительно только цифры) в datagridview, а потом хочу с этого datagridview...
Нужно написать Telegram бота с личным кабинетом в котором будет баланс пользователя и специально сгенерированная строка для реферальной ссылкиМожно...