Я пишу часть программного обеспечения на C # .net 4.0 и наткнулся на стену, чтобы убедиться, что кодовая база является расширяемой, многократно используемой и гибкой в определенной области.
В него поступают данные, которые необходимо разбить на отдельные организационные единицы. Эти единицы необходимо будет изменять, сортировать, удалять и добавлять по мере роста компании.
Независимо от того, как мы разрезаем структуру данных, мы продолжаем сталкиваться с потоком условных операторов (более 100 или около того для начала), которых мы пытаемся избежать, что позволяет нам легко изменять OU.
Мы надеемся найти объектно-ориентированный метод, который позволил бы нам направлять объект в разные рабочие процессы на основе свойств этого объекта без необходимости каждый раз добавлять операторы переключения.
Так, например, предположим, что у меня есть объект под названием «Заказ», входящий в систему. Внутри этого объекта есть orderItems. Каждый из этих различных видов 'orderItems' должен запускать разные функции в коде для соответствующей обработки. У каждого «orderItem» свой рабочий процесс. Условное выражение в основном выглядит так -
if(order.orderitem == 'photo')
{do this}
else if(order.orderitem == 'canvas')
{do this}
изменить: Попытка уточнить.