Моя команда разрабатывает своего рода «основной» проект, который используется несколькими другими нашими проектами. По этой причине мы не хотим резко менять сигнатуры некоторых методов.
Предположим, у нас есть такой метод:
override def calculateNextStep: PartialFunction[(Option[OrderType], Option[OrderState]), OrderType] = {
case (Some(OrderTypeX), Some(InProgress)) => SomeOrderTypeA
case (Some(OrderTypeY), Some(Done)) => SomeOrderTypeB
case (None, None) => SomeOrderTypeC
}
Но теперь мне нужно переопределить этот метод в одном из "неосновные" проекты - мне нужно добавить один дополнительный параметр - скажем, parentOrder. Необходимо правильно рассчитать следующий шаг. Но я не хотел бы влиять на другие проекты. Было бы здорово добавить новый необязательный параметр (со значением по умолчанию None) и не влиять на другие проекты. Есть ли способ достичь этой цели?