En la clase TheatreService depende de las clases concretas Screen, Seats, Theatre lo cual inflije el principio DIP. Una solución seria hacer las clases mencionadas anteriormente, en interfaces así la clase TheatreService ya no dependerá de clases concretas, sino unas abstractas.