Вопрос относится к пакетированию в .NET. Ситуация следующая: имеется множество интерфейсов сервисов; для каждого сервиса есть по крайней мере одна реализация. Как правильно разбить такую структуру на сборки. С одной стороны, так как для каждого интерфейса может быть несколько разных реализаций, то нужно поместить все интерфейсы в одну сборку, а реализации — в другую. Но, с другой стороны, принцип общего закрытия гласит, что изменения одного пакета вызывать изменения другого. Но если изменяется интерфейс, то должна измениться и реализация! Значит ли это, что интерфейс и реализацию лучше разместить в одном проекте/сборке?