Изменения документа MathOperationsWithGeneric
Редактировал(а) Alexandr Fokin 2024/05/25 10:32
От версии 2.1
отредактировано Alexandr Fokin
на 2020/08/19 19:17
на 2020/08/19 19:17
Изменить комментарий:
К данной версии нет комментариев
К версии 3.6
отредактировано Alexandr Fokin
на 2024/05/25 10:32
на 2024/05/25 10:32
Изменить комментарий:
Добавлен комментарий
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
-
Объекты (1 изменено, 2 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Проекты и репозитории.WebHome 1 +Проекты и репозитории.Библиотеки.WebHome - Содержимое
-
... ... @@ -4,7 +4,3 @@ 4 4 5 5 Пример показывающий возможность применять арифметические операции над T элементами Generic<T> классов. 6 6 7 - 8 -Более подробный и профессиональный разбор данной темы: 9 -Unsafe generic math in C# 10 -https://habr.com/ru/post/480416/
- XWiki.XWikiComments[0]
-
- Комментарий
-
... ... @@ -1,2 +1,3 @@ 1 -Дополнение по теме. 2 -Статья, более подробно разбирающая методы решения данной задачи: 1 +Более подробный и профессиональный разбор данной темы: 2 +Unsafe generic math in C# 3 +https://habr.com/ru/post/480416/
- XWiki.XWikiComments[1]
-
- Дата
-
... ... @@ -1,0 +1,1 @@ 1 +2020-08-24 14:58:09.297 - Автор
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.cccc1808 - Комментарий
-
... ... @@ -1,0 +1,12 @@ 1 +Одно из возможных решений данной задачи стоится на DI + Generic. 2 +Мы можем объявить generic интерфейс, реализующий набор математических операций над указанным типом. 3 +Мы можем реализовать данный интерфейс для всех необходимых типов. При этом у нас не будет мест, в которых бы нужно было выполнять приведение типов. 4 +С помощью DI регистрируем необходимые реализации и в нужном месте резольвим необходимый. Причем можем так-же внедрить в конструктор к другим классам. 5 + 6 +Минусы: 7 +- Необходимо реализовывать интерфейс под каждый тип, в том числе для стандартных. При этом мы можем определить кастомные операции для своих типов. 8 + 9 +Плюсы: 10 +- Мы не выполняем приведение типов, не пытаемся самостоятельно определять реализацию в зависимости от типа. 11 +- Также мы теряем скорость выполнения на Expression Tree, по факту работая с нативными операциями через Generic. 12 +- В случае, если для указанного типа не будет зарегистрирован класс мат. операций, то мы получим ошибку при разрешении зависимостей.
- XWiki.XWikiComments[2]
-
- Дата
-
... ... @@ -1,0 +1,1 @@ 1 +2024-05-25 06:32:46.967 - Автор
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.cccc1808 - Комментарий
-
... ... @@ -1,0 +1,2 @@ 1 +AdamWhiteHat / GenericArithmetic 2 +[[https:~~/~~/github.com/AdamWhiteHat/GenericArithmetic>>https://github.com/AdamWhiteHat/GenericArithmetic]]