Я создаю SaaS-программу для нескольких клиентов. Он в основном основан на хранилище Azure, служебной шине и функциях v2. Теперь он построен так, что у каждого клиента будет своя собственная группа ресурсов. Таким образом, все ресурсы дублируются для каждого клиента. Но каждый случай не идентичен, поэтому я не могу напрямую поделиться всем кодом.
Например, будут разные способы интеграции с ним и разные преобразования и проверки, необходимые для каждого клиента. Тем не менее, большая часть кода будет идентична, или какой-то код будет предоставлен некоторым клиентам, но не всем.
Как мне построить свое решение, чтобы я мог выбирать конкретные функции, а также конкретные версии их для каждого решения клиента? Без копирования кода.
Например:
Клиент 1: Func1 версия 1.0, Func2 версия 1.0
Клиент 2: Func1 версия 1.0, Func2 версия 1.1, Func3 1.0
У меня много идей, но я бы хотел, чтобы лучше всего было собрать все функции в одну DLL и затем настроить, какие функции развернуть для каждого клиента? Возможно ли это сделать?
Конечно, я мог бы просто отключить ненужные, но я не хочу решения, где бы я развертывал ненужные вещи и полагался на отключение вещей, а они оставались отключенными.
Или есть ли другие хорошие способы для достижения этой цели?