Я видел этот шаблон структуры пакета несколько раз. Совсем недавно я просматривал код приложения Android Last.fm и хотел бы понять, почему какой-то код находится в файле fm.last.api по сравнению с fm.last.api.impl. https://github.com/c99koder/lastfm-android/
В пакете fm.last.api
содержатся интерфейсы, определяющие открытый интерфейс. В пакете fm.last.api.impl
находится фактическая реализация этого интерфейса.
Это редко используемый подход для различения различных проблем.
fm.last.api
содержит интерфейсы, а также классы. Это то, что фактически оттолкнуло меня для начала.