Я разрабатываю для двух операционных систем.У каждого есть конкретная реализация BaseClass
.Я хотел бы абстрагироваться от этих реализаций.Моя идея состоит в том, чтобы использовать интерфейс, реализуемый обеими реализациями, а затем возвращать класс, специфичный для ОС, с использованием фабричного шаблона.Это выглядело бы как this .
Однако, чтобы принять этот подход, мне нужно было бы указать, какую реализацию следует использовать перед сборкой приложения, например, с помощью постоянной переменной, содержащей имя ОС (platform
переменная в связанном ответе).Мне кажется, это плохой выбор дизайна.Есть ли другой способ определить, какую ОС собирать?