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

От версии 1.6
отредактировано Alexandr Fokin
на 2026/04/02 19:20
Изменить комментарий: К данной версии нет комментариев
К версии 1.10
отредактировано Alexandr Fokin
на 2026/04/02 19:25
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,7 +1,7 @@
1 1  |(% style="width:186px" %) |(% style="width:1247px" %)Возможная реализация идеи фиксации правил в виде отдельных компонентов.
2 2  Позволяет держать все правила в одном месте, гарантирует что изменение повлияет на все нужные места.
3 3  Использование IQueryable т.к. он позволяет строить запросы (но важно учитывать конечный план запроса).
4 -Также можно реализовать другие паттерны взаимодействия со значениями (OneOf, TryGetIfNotNull) (например те, которые часто используются).
4 +Также можно реализовать компоненты под другой формат взаимодействия (OneOf, TryGetIfNotNull) (например те, которые часто используются).
5 5  |(% style="width:186px" %) |(% style="width:1247px" %)[[IEnumerable>>doc:Разработка.NET.C#.Коллекции.IEnumerable.WebHome]], [[IQueryable>>doc:Разработка.NET.C#.Коллекции.IQueryable.WebHome]]
6 6  |(% style="width:186px" %)Пример компонента для фиксации правила/условия.|(% style="width:1247px" %)(((
7 7  |(% style="width:88px" %)InMemory condition|(% style="width:1104px" %){{code language="c#"}}public interface IInMemoryCondition<TData, TParameters>
... ... @@ -68,7 +68,8 @@
68 68   return _applayQueryableFunc(source, parameters);
69 69   }
70 70  }{{/code}}
71 -|(% style="width:88px" %)Контейнер для агрегата.|(% style="width:1104px" %){{code language="c#"}} public interface TEntityConditions
71 +|(% style="width:88px" %)Контейнер для агрегата.|(% style="width:1104px" %){{code language="c#"}}// *) Можно использовать в виде композиции, статичного класса, или создания/внедрения отельных компонентов.
72 +public interface TEntityConditions
72 72  {
73 73   public (
74 74   IInMemoryCondition<TEntity, long> Memory,
... ... @@ -85,8 +85,6 @@
85 85   IQueryableCondition<TEntity, object?> Query
86 86   ) IsRule1 { get; }
87 87  }{{/code}}|
88 -
89 -
90 90  )))
91 91  |(% style="width:186px" %)Вспомогательный Extension|(% style="width:1247px" %)(((
92 92  |{{code language="c#"}}public static class IConditionExtension
... ... @@ -112,9 +112,6 @@
112 112   }
113 113  }{{/code}}|
114 114  | |
115 -| |
116 -
117 -
118 118  )))
119 119  
120 120