Изменения документа Фиксирование условий в виде компонентов
Редактировал(а) Alexandr Fokin 2026/04/02 19:25
От версии 1.7
отредактировано Alexandr Fokin
на 2026/04/02 19:20
на 2026/04/02 19:20
Изменить комментарий:
К данной версии нет комментариев
К версии 1.2
отредактировано Alexandr Fokin
на 2026/04/02 19:15
на 2026/04/02 19:15
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Название
-
... ... @@ -1,1 +1,1 @@ 1 -Фиксирование условий в виде компонентов1 +Фиксирование условий в виде методов - Содержимое
-
... ... @@ -1,8 +1,4 @@ 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]] 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> 8 8 { ... ... @@ -85,6 +85,8 @@ 85 85 IQueryableCondition<TEntity, object?> Query 86 86 ) IsRule1 { get; } 87 87 }{{/code}}| 84 + 85 + 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 | | 111 +| | 112 + 113 + 113 113 ))) 114 114 115 115