Как настроить фабрику, если некоторые пути могут быть недоступны во время компиляции? - PullRequest
0 голосов
/ 24 апреля 2019

Мое приложение читает из файла во время выполнения и создает объект из файла.

Я использую фабричный шаблон для создания объекта:

public class Factory :
{
    public IValuesRepository CreateRepository(string repoType)
    {
        switch (repoType)
        {
            case "A":
                {
                    return new ValuesRepositoryA();
                }

            case "B":
                {
                    return new ValuesRepositoryB();
                }

            default:
                {
                    throw new ArgumentOutOfRangeException("This repository type is not supported");
                }
        }
    }

ValuesRepositoryA / B определены в их собственном проекте, а фабрика определена в третьем проекте с зависимостью от обоих репозиториев.

ValuesRepositoryA / B зависит от двух разных сторонних программ, установленных на компьютере для компиляции.

Моя проблема в том, что если на компьютере, пытающемся выполнить компиляцию, не установлено стороннее программное обеспечение A, то не компилируется заводская установка.

Я бы хотел установить его по умолчанию на случай ошибки, если он не компилируется. Это возможно?

...