Я не могу придумать хорошего названия для этой концепции - PullRequest
1 голос
/ 10 февраля 2011

Мне просто нужно хорошее имя для класса, который объединяет две следующие идеи:

  1. «Цена» для транзакции - идентификатор элемента и сумма, которую он будет стоить
  2. «Продукт», являющийся результатом транзакции - идентификатор предмета и количество получаемого предмета

Например, один экземпляр этого класса может содержать цену (отрицательные 5 «монет») и другой экземпляр будет содержать результат (положительные 2 «игрушки»).Коллекция этих объектов может быть превращена в транзакцию, которая удаляет 5 монет и добавляет 2 игрушки пользователю.

Я мог бы сделать два отдельных класса, Price и Product, но в этом нет необходимости, кроме Iне могу придумать хорошего названия для объединенной концепции.

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

Есть предложения?

Ответы [ 6 ]

1 голос
/ 10 февраля 2011

Вы говорите об Орденском архетипе здесь.

Архетип Ордена представляет собой запись запроса покупателя на продавец поставляет некоторые товары или услуги.

Заказ связывает товары и услуги (представленные OrderLines) и Стороны в записи о сделке купли-продажи.

Архетип OrderLine представляет часть заказа, которая является кратким заказанные товары или услуги покупателем.

Это известные архетипы с известными свойствами и отношениями. Вы можете сопоставить их с разными именами, если сопоставление ясно.

1 голос
/ 10 февраля 2011

Я думаю, что это немного связано с тем, как онлайн-заказ работает, например, «Добавить в корзину».Возможно, я думаю о названии, похожем на Покупка для вашего класса, в котором хранится количество и продукт, приобретенный в вашем классе.

0 голосов
/ 10 февраля 2011

Транзакция будет содержать коллекцию экземпляров этого класса произвольного размера, независимо от того, связаны ли они с ценой или продуктом

Какое значение будет иметь коллекция единственных цен?

Я бы предпочел иметь список только идентификаторов продуктов.При оформлении заказа вы выбираете цены, проверяете, попадают ли некоторые товары в категорию «3 для цены 2», или проверяете накопительные скидки для этого клиента и т. Д.

Может ли это быть с классомс несколькими обязанностями может привести к дополнительным осложнениям в вашем случае?

0 голосов
/ 10 февраля 2011

Вы можете просто назвать его Element или Item, если он находится внутри пространства имен Transaction (например: в Java, сделать его внутренним классом Transaction, таким образом, вы можете обратиться к нему какTransaction.Element).

0 голосов
/ 10 февраля 2011
  • ProductTransaction
  • ProductTransactionResult
  • NerfHerder
0 голосов
/ 10 февраля 2011

Как насчет Заказа или, как предполагает Сачин, Покупки ?Кстати, «количество» обычно используется для непрерывных вещей (например, количество газа или количество соли).Вы, вероятно, хотите использовать термин «количество», поскольку он относится к дискретному, целому числу предметов.

...