Si una raíz agregada implementa una interfaz en un diseño controlado por dominio

Estoy trabajando en un proyecto que utiliza tanto el diseño controlado por dominio como el desarrollo basado en pruebas. Mientras leía el libro de DDD de Evans, noté que no definía interfaces para las raíces agregadas en el dominio.

Si estoy haciendo DDD y TDD, ¿debo definir interfaces para cada raíz agregada para que las clases de raíz agregadas sean fácilmente comprobables y simulables? Si es así, ¿también debería definir interfaces para cada entidad contenida dentro de la raíz agregada?

De mis búsquedas en Google y StackOverflow, he encontrado respuestas que se acercan a lo que estoy buscando, pero busco consejos específicamente al hacer DDD y TDD porque supongo que la capacidad de prueba, al hacer TDD, podría Se pasa por alto en las respuestas que he visto hasta ahora.

Respuestas a la pregunta(2)

Su respuesta a la pregunta