OCP
-
Spring 개방 폐쇄의 원칙을 반영한 코드 리팩토링Back-end/TIL 2022. 4. 25. 09:26
📌 상황 팀장님께서 리팩토링한 코드를 보고 인터페이스 구현체를 명시해주는 것에 대해 고민하며 ‘Spring의 개방 폐쇄 원칙’ 개념에 대해 직접적인 이해를 하게 되었다. 현재 회사 코드는 위와 같은 구조를 가지고 있고, 지금은 SmsExternalService 인터페이스의 구현체가 SmsNaverService 뿐이지만, 만약 다른 구현체가 생긴다면, SpringBoot가 어떤 구현체를 사용해야할 지 몰라 에러가 발생할 것이다. 따라서 이러한 부분에 대한 리팩토링이 추가로 필요하다고 생각했다. 📌 개선 @RestController public class UserV2Controller { private SmsExternalService smsExternalService; @PostMapping(..) pub..