Require designing classes for interface implementation.
Using interface-based proxies encourages designing classes to implement interfaces, which enhances flexibility and testability. However, it requires more upfront design work to define interfaces. For example, creating an IOrderService interface for OrderService allows using interface-based proxies, enabling different implementations for testing or future modifications.