>> Торренты делегируют саму логику библиотеке libtorrent, а LMP тоже использует
>> модульность. Например, скробблер — отдельно, получение информации об исполнителей,
>> похожих, рекомендаций, и т. п. — отдельно, получение дискографий — отдельно,
>> синхронизация — отдельно, а в текущей ветке разработки и аудиоэффекты — отдельно.
> Так это же всё модульность внутри BitTorrent или LMP, т.к. перечисленные модули
> используются только для построения этих программ. Или я ошибаюсь?Просто других модулей, которым это было бы нужно, нет. Скробблеры, всякая социальщина в музыке и модуль получения дискографий — вообще отдельные плагины первого уровня, со стандартизованным API.
> Я всегда представлял, что правильнее чтобы программы были построены из модулей, которые
> так же используются для построения других программ, как это делается в
> CLI, например, с grep, который используется во многих скриптах, выполняющих свою
> частную задачу. Возможно, конечно, это не достижимо в случае с GUI,
> но всё же.
Вполне случай LC. Никто не мешает в каком-нибудь другом аудиоплеере (если вдруг его кто решит написать) скробблить при помощи уже готовых модулей, например.