Как реализовать конвертеры без необходимости реализовывать каждую перестановку

Как реализовать конвертеры без необходимости реализовывать каждую перестановку
Как реализовать конвертеры без необходимости реализовывать каждую перестановку - alejoreinoso @ Unsplash

Я не особенно знаком с конкретным контекстом здесь (небесной механики), но там, где есть несколько взаимопреобразуемых представлений одной и той же информации, тогда (в соответствии с вашим собственным мышлением) нормально обозначить одно представление как общее. или главное представление, а затем реализовать все преобразования во вторичные представления через это главное представление.

При таком подходе для каждого вторичного представления должен быть реализован набор из двух конкретных преобразований: одно для преобразования из основного во вторичное, другое для преобразования из вторичного в главное.

Кроме того, когда требуется общее преобразование из вторичного во вторичное, это будет двухэтапный процесс, включающий два конкретных преобразования, а не одноэтапный процесс, когда начальное или конечное представление является основным.

Решающий вопрос для реализации заключается в том, хотите ли вы, чтобы это общее преобразование обрабатывалось автоматически в коде, или вы просто запрограммируете определенные преобразования вручную.

Другими словами, сможете ли вы закодировать ck.ConvertTo(J2000) и заставить код автоматически определить, какие конкретные шаги преобразования необходимы для перехода от существующего представления (хранящегося в ck) к представлению J2000, или вам придется кодировать конкретные шаги на месте каждой конверсии CkConverter.FromICFRToJ2000(CkConverter.FromTEMEToICFR(ck)) (пример, если существующее представление в ck — TEME).

При автоматическом подходе вам придется запрограммировать таблицу поиска (или какой-либо другой способ выражения связи) с одной записью для каждой возможной комбинации начального и конечного представления, и с каждой записью, выражающей конкретное преобразование (я) (одно или два), необходимых для достижения общего преобразования.

Конкретный код преобразования не будет экспоненциально расти с каждым дополнительным представлением, поэтому, если каждое преобразование математически сложное, вы сэкономили усилия по кодированию на этом фронте, но эта таблица поиска (содержащая простые и важные данные о путях преобразования между каждым представлением) будет по-прежнему растут в геометрической прогрессии.

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - Военный АБСУРД ПРИГОЖИНА и пропажа КАДЫРОВА: что будет с СОЛЕДАРОМ, Смотрите сами

Прикрепленное видео 2 - ВЫВОД МАССИВА, ПЕРЕБОР МАССИВА, МАССИВЫ И ЦИКЛЫ, C - ОТ НОВИЧКА К ПРОФЕССИОНАЛУ, - 26


LetsCodeIt, 19 января 2023 г., 05:03