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

От версии 1.7
отредактировано Alexandr Fokin
на 2026/04/02 19:20
Изменить комментарий: К данной версии нет комментариев
К версии 1.4
отредактировано Alexandr Fokin
на 2026/04/02 19:17
Изменить комментарий: Update document after refactoring.

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,7 +1,4 @@
1 1  |(% style="width:186px" %) |(% style="width:1247px" %)Возможная реализация идеи фиксации правил в виде отдельных компонентов.
2 -Позволяет держать все правила в одном месте, гарантирует что изменение повлияет на все нужные места.
3 -Использование IQueryable т.к. он позволяет строить запросы (но важно учитывать конечный план запроса).
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>
... ... @@ -85,6 +85,8 @@
85 85   IQueryableCondition<TEntity, object?> Query
86 86   ) IsRule1 { get; }
87 87  }{{/code}}|
85 +
86 +
88 88  )))
89 89  |(% style="width:186px" %)Вспомогательный Extension|(% style="width:1247px" %)(((
90 90  |{{code language="c#"}}public static class IConditionExtension
... ... @@ -110,6 +110,9 @@
110 110   }
111 111  }{{/code}}|
112 112  | |
112 +| |
113 +
114 +
113 113  )))
114 114  
115 115