Как применять SOLID принципы в Java — разбор на реальных примерах?

Middle
357 просмотров
AFK Offer AI

SRP: каждый класс одна причина для изменения — UserService не должен отправлять email, это EmailService. OCP: расширение без модификации — Strategy pattern, новый алгоритм = новый класс. LSP: подтипы заменяют базовый тип — Rectangle/Square антипаттерн. ISP: узкие интерфейсы — OrderReader отдельно от OrderWriter. DIP: зависеть от абстракций — @Autowired по интерфейсу, не по классу. SOLID снижает coupling и делает код тестируемым.

Следующий вопрос

Как работает CompletableFuture?