Изменения документа Мнение
Редактировал(а) Alexandr Fokin 2026/09/15 13:34
От версии 1.7
отредактировано Alexandr Fokin
на 2026/09/15 13:22
на 2026/09/15 13:22
Изменить комментарий:
К данной версии нет комментариев
К версии 1.4
отредактировано Alexandr Fokin
на 2026/09/15 12:54
на 2026/09/15 12:54
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -11,9 +11,8 @@ 11 11 12 12 У этого подхода еще есть плюс, связанный с [[Expression tree ~| Деревья выражений>>doc:Разработка.NET.C#.Рантайм и типы.Expression tree | Деревья выражений.WebHome]]. А именно мы легко можем строить Expression (например для проекции или Update запроса) (открытые setter). 13 13 )))| 14 -| |((( 15 -|{{code language="c#"}}// Entity rules (interaction interface) 16 -interface IEntityServices<TEntity> 14 +| |{{code language="c#"}}// Entity rules (interaction interface) 15 +IEntityServices<TEntity> 17 17 { 18 18 // Set rules (single point of editing). 19 19 ITEntitySetter Setter { get; } ... ... @@ -22,33 +22,7 @@ 22 22 ITEntityConditions Conditions { get; } 23 23 24 24 // Discrimination union (OneOf) for invariants. 25 - ITEntityOneOf { get; } 26 -}{{/code}}|{{code language="c#"}}interface ITEntitySetter 27 -{ 28 - TEntity Create1(Create1Param parameters); 29 - TEntity Create2(Create2Param parameters); 24 + IOneOf { get; } 25 +}{{/code}}|[[Specification>>doc:Архитектура и модели.Группа\. Архитектурные подходы.DDD | Domain-driven design.Specification.WebHome]] 30 30 31 - void SetProperty1(TEntity entity, TValue propertyValue); 32 - 33 - void SetProperty2(TEntity entity, Property2Param parameters); 34 -} 35 - 36 -interface ITEntityCondition 37 -{ 38 - bool IsCondition1(TEntity entity); 39 - 40 - bool IsCondition2(TEntity entity, Conditition2Params params); 41 -} 42 - 43 -interface ITEntityOneOf 44 -{ 45 - void PropertyOneOf( 46 - TEntity entity, 47 - Action<TInvariant1Dto> invariant1Handler, 48 - Action<TInvariant2Dto> invariant2Handler) 49 -}{{/code}} 50 - 51 51 52 -)))|[[Specification>>doc:Архитектура и модели.Группа\. Архитектурные подходы.DDD | Domain-driven design.Specification.WebHome]] 53 - 54 -