La interfaz SeatLockProvider, inflige el el principio ISP, dado que tiene varios metodos que en las clases que lo implementa, no siempre los utilizara. Una solucion a este seria dividir la responsabilidad de la interfaz SeatLockProvider, esta solo se encarga de bloquear y desbloquear los asientos, ValidateLockProvider se encargue solo de validar el bloqueo y otra interface que se encargue de mostrar los asientos.