Изменения документа Мнение

Редактировал(а) Alexandr Fokin 2026/09/15 13:34

От версии 1.11
отредактировано Alexandr Fokin
на 2026/09/15 13:29
Изменить комментарий: К данной версии нет комментариев
К версии 1.4
отредактировано Alexandr Fokin
на 2026/09/15 12:54
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

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