Мне нужно уметь условно выполнить метод. Я предпочитаю не иметь в своем коде кучу операторов IF по нескольким причинам. Наиболее заметным является то, что в определенный момент в будущем метод больше не будет использоваться.
Я не уверен, как лучше всего это сделать или какие схемы я должен выбрать для выполнения этой задачи.
Приложение, на которое я ссылаюсь, представляет собой приложение, которое заменит устаревшую систему. Устаревший код будет отключен и больше не будет использоваться в какой-то момент. Когда наступит этот момент времени, я не хочу возвращаться и менять какой-либо код (если это вообще возможно).
Вот псевдо-концептуальный пример того, что я имею в виду:
NewSystemEmployee.Save(Employee e)
if (Legacy System Is Running)
{
LegacySystemEmployee.Save(Employee e)
}
Метод NewSystemEmployee.Save
всегда должен выполняться. Я только хочу выполнить LegacySystemEmployee.Save
, пока работает система Legacy. Когда система Legacy закрывается, я больше не хочу выполнять LegacySystemEmployee.Save
Как только устаревшая система исчезнет, я не знаю, как мне достичь того, чего я хочу, без:
- Создание оператора IF перед вызовом
LegacySystemEmployee.Save
ИЛИ
- Удаление каждого вызова метода
LegacySystemEmployee.Save
ИЛИ
- Изменение метода
LegacySystemEmployee.Save
таким образом, чтобы он был заглушкой и ничего более
У меня также есть требование, чтобы класс NewSystemEmployee
никоим образом не ссылался на класс LegacySystemEmployee
.
Есть предложения?
Большое спасибо