лучший (на мой взгляд) подход к разделению слоев это использование метафоры передачи сообщений. Таким образом, связь между уровнями осуществляется с сообщениями, типы которых содержат информацию, относящуюся только к связи. Эти легкие типы затем интерпретируются каждым слоем так, как они считают нужным.
По сути, не пропускайте ненужные вещи. Если оба уровня нуждаются в части информации, то существует высокая вероятность того, что какой-то другой объект должен обеспечить доступ к этой информации (например, постоянные данные в дБ).