Вопрос

Как я должен назвать свой класс, который хранит расходы/цены/суммы денег в CAD/USD как отдельный longS за доллары и центы? У меня есть "Priceindollars", но мне это не очень нравится, и я всегда забываю об этом. Любые идеи?

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

Пожалуйста, посмотрите мой другой вопрос здесь!

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

Решение

Я бы пошел с любого Price или же Cost. Анкет Какой бы вы ни выбрали, вы можете подключить его, чтобы стать более конкретным.

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

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

Во -первых, я не согласен со всеми, кто говорит использовать BigDecimal. Анкет Даже если ваше «хранилище» BigDecimal (что очень разумно), вы должны использовать свой собственный класс, потому что BigDecimal Поля, параметры метода и т. Д., Не передает семантику. Обычно повторно используемые типы, такие как суммы валюты должен иметь свои собственные занятия.

Все это сказано, не пишите свой собственный. Для этого есть много библиотек, которые уже существуют и продумали многие проблемы для вас. Лично я бы начал с Joda-Money, Стивен Коулборн (из славы Джода-времени).

  • Currency
  • Money
  • Price
  • Value (Я бы не стал, хотя)

Стоимость в денежном выражении :-)

Почему Money Плохой выбор? Инкапсулируя цельные и дробные части вместе с java.util.Currency в класс - лучший дизайн, чем BigDecimal, Имо.

Мне не нравится ничего, что заканчивается «Indollars», потому что это излишне предрассудкам на ваш дизайн до USD или CAD. Почему это делает это, если идея более общая?

Я бы использовал "деньги"

http://www.answers.com/topic/cashДеньги в виде счетов или монет; валюта. Оплата за товары или услуги в валюте или чеком.

Это не специфично для любого типа валюты, множества глаголов, которые вы можете добавить к нему для преобразования и тому подобного.

Я позвонил своему MonetaryAmount.

Я бы назвал это Amount, держит java.util.Currency и long с единицами.

Вот мой собственный Amount учебный класс что я использовал в разных проектах. Это реализует Comparable и имеет toString Метод для форматирования суммы для отображения (хотя она не учитывает ваш локаль для форматирования суммы).

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