А почему именно в таком порядке?
Т.е. порядок выбора важен? А он жестко определен?
А порядок выбора не входит в "простой как пень" алгоритм? Что еще не входит?
А почему ты применил наценку 20%. Что означает "нет в природе"? Это значит будет закупаться? Или это значит будет производится?
Давай еще немножко протестируем алгоритм:
На складе лежит 1000 единиц.
В пути 1000 единиц.
Производится 1000 единиц.
Какая будет цена? Почему? Снова есть порядок выбора?
Далеко ли территориально расположены склады? Если я как клиент нахожусь близко к складу производителя, то я смогу забрать товар с него? А по какой цене?
======
Теперь решение:
Вариант 1.
В заказ вводится столько строчек, сколько различных вариантов наценки существует. У каждой строчки устанавливается своя группа наценок по товару. Работает.
Теперь автоматизация: прграммист должен сделать так, чтобы когда оператор вводит одну строчку, при необходимости, алгоритм разбивал бы ее на несколько, с разными наценками.
Вариант 2.
Дальнейшая проработка варианта 1. Вся работа выполняется за кулисами. Оператору показывается только результат (цена) той же строчке где он и начинал ввод. Наценки ему не показываются. Изменять надо класс PriceDisc. Класс должен рассчитывать цену на основании наценок как и в варианте 1, только не показывать оператору промежуточные результаты.
=======
НО: переходить ко второму варианту стоит только тогда, когда ты полностью поймешь алгоритм ценообразования. Когда обнаружишь все упорядочивания и умолчания. Пока мы нашли только одно умолчание - порядок выбора. Заметь, что описал наценки и применил ты в разном порядке.
|