Я всегда считал что НЕТ, потому что объект предметной области должен всегда находится в валидном состоянии, т.е. соблюдать все инварианты. Если объект Document имеет какую-то операцию, то после ее выполнения объект должен соблюдать инварианты, а если он до выполнения операции не валиден, то. и после тоже...
Не раз уже видел код, где объекты имеют свойство IsValid, и метод GetBrokenMessages(), который возвращает сообщения о нарушенных бизнес-правилах. Получается они допускают что объект может находится в некорректном состоянии, а как же тогда должны выполняться операции над объектом, когда он некорректен?
И как считываете Вы, может ли объект предметной области на протяжении своего жизненного цикла находится в не валидном состоянии, т.е. нарушая инварианты?
Рассмотрим случай когда пользователь вводит в форму номер документа и View передает этот номер Presenter'у. Если номер оказался неверного формата или не является уникальным, то может ли Presenter присвоить значение свойству RegNumber объекта Document?
Интересно...Ну Вас все устраивает в таком подходе, я имею ввиду с практической точки зрения?