Как назвать структуру, которая представляет и размер, и позицию?

StackOverflow https://stackoverflow.com/questions/853219

Вопрос

У меня есть структура с именем WaveSize, которая представляет как количество выборок, так и количество времени, но я также использую эту структуру для представления позиции или смещения внутри волны.

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

Мне странно видеть что-то вроде:

public WaveSize Size { get; }
public WaveSize Offset { get; }

Я предпочитаю придумать хорошее имя, чем создавать пустые классы или использовать «использование».

Любые предложения будут высоко оценены.Заранее спасибо.

РЕДАКТИРОВАТЬ:Как предположили Рид Копси и Марк Гравел, имеет смысл иметь два разных класса, поскольку это две разные концепции, поэтому любые сходства в коде следует рассматривать как простые совпадения.

Это было полезно?

Решение

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

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

Я также согласен с Ответ Марка Гравелла относительно структур Point/Size BCL.Я думаю, что они являются хорошей моделью для подражания.

Другие советы

Вы можете сравнить с winforms Point и Size структуры...они решили, что даже если они похожи, держать их отдельно.Это имеет смысл в алгебраическом смысле:

Point - Point = Size
Point + Size = Point
Size + Size = Size
Point + Piont = ???? error (no defined operator)

и т. д.

Волновой вектор?

Можете ли вы создать структуру под названием просто Wave, а размер и смещение будут хорошо вписываться в более общее имя?Надеюсь, у вас еще нет структуры Wave :)

Разве обычное название «смещения» не является фазовым сдвигом?

Я бы, наверное, выбрал WaveProperties.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top