Я только что вышел из собрания разработчиков, и мне был задан вопрос о том, откуда у меня одна идея о том, как структурировать некоторые DLL-библиотеки проекта, который мы создаем. Честно говоря, я понятия не имею, откуда взялась эта «идея», и это казалось мне естественным знанием. Однако было бы полезно, если бы я мог подтвердить эти мнения некоторым документированным анализом.
Кто-нибудь знает о каких-либо ресурсах, которые подробно обсуждают различные механизмы структурирования сборок / модулей / источника?
UPDATE:
Ну, идея не была чем-то особенным. Мы обсуждали уровень абстракции для некоторого аппаратного обеспечения, чтобы «приложение», которое использует эти сервисы, могло быть (своего рода) независимым от платформы. Ранее у нас был интерфейс .dll, который объявляет интерфейсы, необходимые приложению, и реализацию .dll, которая реализует их для одной платформы, которую мы имели до сих пор. Теперь у нас есть две платформы, но они очень похожи. Чтобы не допустить загрязнения интерфейсов .dll или какого-либо отвратительного сценария, когда реализации ссылаются друг на друга, я просто предложил создать еще одну .dll, которая находится между интерфейсами и конкретными платформенными файлами, где могут жить общие абстрактные реализации.