Шаблон проектирования FTP - PullRequest
0 голосов
/ 10 марта 2011

Я работаю над проектом, который должен использовать несколько типов FTP-соединений (SFTP, FTPS и обычный старый FTP в настоящее время).Я использую JSch для SFTP и Commons Net для FTPS и FTP.

Проблема, с которой я сталкиваюсь, решая, как реализовать это таким образом, чтобы другие люди не знали о библиотеках, а также упростили обновление и обслуживание.В настоящее время у меня есть интерфейс FTP и классы, которые реализуют это для каждого типа соединения.Я не могу избавиться от ощущения, что должен быть лучший способ, поскольку это, кажется, просто добавляет шаг между рабочим кодом и библиотекой.

Существуют ли какие-либо шаблоны проектирования, которые могли бы лучше соответствовать этой реализации?

Ответы [ 3 ]

1 голос
/ 10 марта 2011

На самом деле нужно иметь общий интерфейс для всех из них, а также адаптеры, которые реализуют его для каждой из библиотек.

Имея общий интерфейс, вы можете установить зависимость извне (читайте о внедрении зависимости) и / или реализовать фабрику, которая для некоторой общей спецификации возвращает правильную реализацию.

1 голос
/ 10 марта 2011

Вы читали эту статью о внедрении зависимости? http://martinfowler.com/articles/injection.html

0 голосов
/ 11 марта 2011

Шаблон проектирования моста - это то, что вам нужно.

Поскольку это Java, обратите внимание на этот очень гибкий и масштабируемый механизм: META-INF / services

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