객체 지향 설계와 스프링
스프링의 컨셉
"스프링의 컨셉인 좋은 객체지향 프로그래밍이란 뭘까?"
유연하고 변경이 용이한 다형성을 극대화 하여 사용할 수 있는 도구이다.
자동차를 타는 운전자는 변하지 않지만 자동차는 매번 새로운 모델을 출시한다. 하지만 그 타겟층은 언제나 같은 운전자를 타겟으로 삼고 출시한다.
"이 것은 운전자는 새로운 차가 나오더라도 새로운 차를 운전하는 데 지장이 없다." 라는 얘기다.
이 내용을 서비스의 시선으로 바라보면, 클라이언트에게 아무런 영향을 주지 않고 새로운 기능을 출시할 수 있다는 것이다.
위 좋은 장점에 비해 분명한 한계점이 존재한다.
그 한계점은 "인터페이스" 자체가 변하는 경우 결국 내부 구현 코드와 인터페이스를 사용하는 클라이언트의 코드가 변경이 일어나기 때문이다.
그래서 인터페이스를 최대한 변경이 없는 선에서 안정적으로 설계하는 것이 대안이며 핵심이다.
다시 스프링으로!
Last updated