для библиотеки существующей, но я не хочу чтобы у враппера была внутри депенденси на либу. Хочу чтобы в проект подключалась и либа и мой врапер
Противоречивое требование? Врапер, которые не знает о библиотеке? ) В кратце так: для работы с либой кто-то в коде обязан знать, как с ней работать. То есть какая-то часть кода по-любому будет от нее зависить (не IoC). Но чтобы от нее код не зависил, сделай обобещенный интерфейс, который будет диктовать, что требуется твоему коду (классический IoC) И вот уже после этого можешь накидать врапер, который будет и подчиняться этому интерфейсу, и зависеть от библиотеки. Другая библиотека - другой врапер, но основному коду остается пофиг, потому что он отделен от враппера интерфейсом...
Если в той либе нужные классы наследуются от core классов, тогда можно через рефлексию проверять и создавать объект либы, либо если ее нет, то дефолтную имплементацию
В picasso у них так делается внутри с okio кажется
Обсуждают сегодня