Я работаю над дизайном системы принятия решений, которая вызывает сложную логику, потенциально мне нужно будет использовать много вложенных операторов if / else,
Я хочу посмотреть, есть ли лучший дизайнчем может помочь мне упростить структуру системы и обеспечить определенную расширяемость для дальнейшего улучшения.
Проблема проекта может быть упрощена как:
Теперь нам нужно сделатьрешение для запроса, который имеет 3 типа свойств и, возможно, больше.Это PricePolicy (Contract / WholeSale / Retail / Discount), RequestType (Buy / Sell) и ProductType (Fashion / Household / Toys).
Каждое решение принимается на основе всех 3 свойств запроса, посколькутип ценовой политики может измениться в будущем, и в процесс принятия решений будет добавлено больше свойств.
Так что я стараюсь избегать создания большого оператора switch, который уродлив и неэффективен для будущих расширений.Такие как:
switch(ProductType) {
case Fashion:
switch(PricePolicy) {
case Contract:
if(Request == Buy) {
// making a decision.
} else {
}
}
}
}
Пожалуйста, поделитесь идеей и предложениями Спасибо.
Приветствия, Боб