Хотя я и являюсь разработчиком на Java, и этот вопрос касается OSGi и модульности в соответствии с Java, этот вопрос действительно применим для любого объектно-ориентированного 3GL.
Я начинаю понимать концепции по-настоящему «модульной» разработки и начинаю по-настоящему любить OSGi. Впервые в жизни я начинаю думать о развертывании банок в очень гранулированных, многоразовых, специализированных развертываниях. Однако этот новый способ мышления вызвал несколько вопросов.
В чисто компонентно-ориентированных архитектурах каждый класс встревожен? Если нет, насколько гранулированными должны быть компоненты? Можно ли сделать каждый компонент многоразового использования?
Какие «практические правила» следует использовать при определении степени гранулярности модульного компонента? Заранее спасибо!