Измените AddOrder
и ExecuteOrder
на внутренние, и у вас будет два прокси-класса в одной сборке, каждый из которых может быть создан с помощью TradingSystem
и делегирует один из методов.
Затем вы даете все, что нужно для вызова AddOrder
прокси, который может сделать это, и все, что нужно для вызова ExecuteOrder
прокси, который может сделать это.
Вы могли бы потенциально оставить оба метода общедоступными и просто заставить TradingSystem
реализовать два интерфейса - но это позволило бы клиентам просто привести к конкретному типу и в любом случае выполнить вызов.
Кстати, модификаторы доступа, как правило, не должны использоваться в качестве слоя безопасности - если это подлинная торговая система (а не просто пример того типа разделения, который вы хотите), тогда я ожидаю, что безопасность быть реализовано несколько иначе.