Задать вопрос
@WinnerIT
Программист и фотограф-любитель

Как должна выглядеть модель. Какие шаблоны использовать?

Есть продаваемые услуги 2-х видов:
  1. Услуги с твердой ценой Х
  2. Услуги с дифференцированной ценой Х. От 1 до 100 едениц - цена X1, от 100 до 1000 едениц - цена Х2 . дифференциренция у каждой услуги разная.


Как должны выглядеть классы? Какие шаблоны использовать? Заранее спасибо.
  • Вопрос задан
  • 149 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@AlexHell
если много параметров и возможно расширение - можно Спецификацию использовать (в которой будет например кол-во товаров, их тип, может еще что в будущем)

для простого случая - создавайте 1 базовый класс, и 2 подкласса
общий метод содержит все что только может быть
ICalculator
{
int GetCost(int count)
}

FixedCalculator : ICalculator
{
int _cost;

FixedCalculator (int cost)
{
_cost = cost;
}

int GetCost(int count)
{
return count * _cost;
}

ProgressionCalculator : ICalculator
{
int _costBase; // базовая цена плюс..
int _costDiscount; // скидка (минус процент или минус фикс) за каждые Step штук
int _costDiscountStep;

ProgressionCalculator(int cost, int costDiscount, int costDiscountStep)
{
_cost = cost;
_costDiscount = costDiscount;
_costDiscountStep = costDiscountStep;
}

int GetCost(int count)
{
return FORMULA
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы