#android #api #package #structure
#Android #API #упаковка #структура
Вопрос:
Я видел этот шаблон структуры пакета несколько раз. Совсем недавно я просматривал Last.fm Код приложения для Android и хотелось бы понять, почему некоторый код находится в fm.last.api по сравнению с fm.last.api.impl. https://github.com/c99koder/lastfm-android /
Ответ №1:
Пакет fm.last.api
содержит интерфейсы, которые определяют общедоступный интерфейс. В пакете fm.last.api.impl
находится фактическая реализация этого интерфейса.
Это редко широко используемый подход для разграничения различных проблем.
Комментарии:
1. Когда вы говорите «интерфейсы», вы используете термин свободно? Или вы имеете в виду реальные интерфейсы, в отличие от классов. Я спрашиваю, потому что
fm.last.api
содержит интерфейсы, а также классы. Это то, что на самом деле сбило меня с толку с самого начала.2. В общем, я говорил о реальных интерфейсах, но, возможно, могут быть и другие необходимые классы, такие как исключения. Но я только что еще раз взглянул на ваш пример, и я могу найти пакет fm.last.api.impl, и я не могу найти никаких интерфейсов или классов вообще: github.com/c99koder/lastfm-android/tree/master/app/src/fm/last /…
3. Пакеты на самом деле находятся в библиотеке project — link