Редактировал(а) Alexandr Fokin 2026/04/02 19:25

От версии 1.1
отредактировано Alexandr Fokin
на 2026/04/02 19:14
Изменить комментарий: К данной версии нет комментариев
К версии 1.5
отредактировано Alexandr Fokin
на 2026/04/02 19:19
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Название
... ... @@ -1,1 +1,1 @@
1 -Фиксирование условий в виде методов
1 +Фиксирование условий в виде компонентов
Содержимое
... ... @@ -1,4 +1,8 @@
1 1  |(% style="width:186px" %) |(% style="width:1247px" %)Возможная реализация идеи фиксации правил в виде отдельных компонентов.
2 +Позволяет держать все правила в одном месте, гарантирует что изменение повлияет на все нужные места.
3 +Использование IQueryable т.к. он позволяет строить запросы (но важно учитывать конечный план запроса).
4 +Также можно реализовать другие паттерны взаимодействия с агрегатом (OneOf, TryGetIfNotNull).
5 +|(% style="width:186px" %) |(% style="width:1247px" %)[[IEnumerable>>doc:Разработка.NET.C#.Коллекции.IEnumerable.WebHome]], [[IQueryable>>doc:Разработка.NET.C#.Коллекции.IQueryable.WebHome]]
2 2  |(% style="width:186px" %)Пример компонента для фиксации правила/условия.|(% style="width:1247px" %)(((
3 3  |(% style="width:88px" %)InMemory condition|(% style="width:1104px" %){{code language="c#"}}public interface IInMemoryCondition<TData, TParameters>
4 4  {
... ... @@ -64,7 +64,7 @@
64 64   return _applayQueryableFunc(source, parameters);
65 65   }
66 66  }{{/code}}
67 -|(% style="width:88px" %) |(% style="width:1104px" %){{code language="c#"}} public interface TEntityConditions
71 +|(% style="width:88px" %)Контейнер для агрегата.|(% style="width:1104px" %){{code language="c#"}} public interface TEntityConditions
68 68  {
69 69   public (
70 70   IInMemoryCondition<TEntity, long> Memory,