Почему мы устанавливаем наборы свойств как частные в доменных объектах для CQRS - PullRequest
0 голосов
/ 21 декабря 2018

Я немного сбит с толку, поэтому в следующих случаях мы установили set как личное.Моя путаница связана не с закрытой собственностью, а с объектами домена и получением их из пользовательского ввода ([FromForm])

public class ObjectA
{
    public string Name { get; private set; }
    public string Title { get; private set; }

    public ObjectA(string name, string title)
    {
        Name = name;
        Title = title;
    }
}

Но в действительности, когда ObjectA передается в контроллерс помощью [FromBody] все эти свойства отправляются в конструктор, автоматически опровергая цель private set.

Полагаю, я не до конца понимаю всю эту концепцию частных наборов в доменных объектах

1 Ответ

0 голосов
/ 25 декабря 2018

Это общее правило при проектировании объектов DDD.делает объект неизменнымЗначение свойства должно быть изменено только внутри вашего домена через конструктор или публичный метод.Это поможет вам больше сосредоточиться на своем домене и избежать побочных эффектов.

Вид этих объектов не является объектом передачи данных (DTO), который вы упомянули: [FromBody]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...