back-end/spring

스프링과 객체지향 OCP,DI

5witch 2022. 4. 27. 18:27

* OCP (Open-Closed Principle) 개방-폐쇄 원칙

확장에는 열려있고  변경에는 닫혀있어야한다는 프로그래밍 원칙..

 

객체 지향 프로그래밍의 핵심 원칙이라고 한다. 잘 지키지 않는다면, 객체 지향 프로그래밍의 가장 큰 장점인 유연성, 재사용성, 유지보수성 등을 확보할수없다.

 

 

* 스프링의 DI (Dependencies Injection) 의존성 주입을 활용하면 기존 코드를 일일히 변경해주지않아도

설정만으로 변경가능하다.

객체지향설계를할때 SOLID에서 D(DIP)의존관계 역전 원칙을 따르는 방법중 하나이기도하다.

 

 

DI는 대충 이런느낌...?

 

controller ------- service -----X----- 기존repository ------------ entity 

                                ------------ 새 repository

 

 

다음 포스팅에서는 객체지향설계(SOLID)의 다른요소인 SRP, LSP, ISP등도 적어봐야겠다.