Инициализировать класс из нескольких классов на основе указанного значения - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь создать сервер хранения, который будет принимать составные данные и загружать их в mongodb или файловую систему. Я создал 2 класса с одинаковыми методами, и теперь я хочу запустить свое приложение только с инициализированным 1 экземпляром, это может быть либо mongodb, либо файловая система, основанная на условии из переменной среды.

Я пробовал фабричный шаблон проектированияно я не смог ее решить.

Допустим, у нас есть 3 класса Mongo, Файловая система и Upload

public class Mongo{
     public void upload(MultipartFile file){
          // Code to upload to mongodb
     }
  }
public class Filesystem{
     public void upload(MultipartFile file){
          // Code to upload to Filesystem
     }
  }
public class Upload{
   private T t;

   Upload(@Value("somevalue") String value){
      if value.equals("Mongo") this.t = new Mongo();
      else value.equals("Filesystem") this.t = new Filesystem();
   }

   String void uploadFile(){
      t.upload(file);
   }

}

В этом случае T может быть только Mongo илиФайловая система, и у них обоих одинаковый метод с одинаковыми параметрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...