객체 지향 설계와 스프링

스프링은 DI와 DI 컨테이너로 다형성, OCP, DIP를 가능하게 지원해준다.

정리

  • 모든 설계에 역할과 구현을 분리해야 한다.

    • 자동차 예시를 떠올려보자.

  • 애플리케잇연 설계도 언제든지 유연하게 변경할 수 있어야 한다.

  • 이상적으로는 모든 설계에 인터페이스를 부여하는 게 좋다.

    • 하지만 추상화하는 비용이 발생한다.

    • 기능을 확장할 가능성이 없다면 구체 클래스를 직접 사용한다.

    • 향후 꼭 필요할 때 리팩터링 해서 인터페이스를 도입하는 것도 방법이다.

Last updated