ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 객체 지향 설계와 스프링
    Spring/스프링 핵심 원리 - 기본편 2022. 8. 2. 16:46

    [인프런] 스프링 핵심 원리 - 기본편

     

     

    좋은 객체 지향 설계의 5가지 원칙(SOLID)

     

    1. SRP: 단일 책임 원칙(single responsibility principle)
    2. OCP: 개방-폐쇄 원칙 (Open/closed principle) ⭐
    3. LSP: 리스코프 치환 원칙 (Liskov substitution principle)
    4. ISP: 인터페이스 분리 원칙 (Interface segregation principle)
    5. DIP: 의존관계 역전 원칙 (Dependency inversion principle) ⭐

     

    단일 책임 원칙 (Single responsibility principle)

    • 한 클래스는 하나의 책임만 가짐
    • 변경이 있을 때 파급 효과가 적으면 단일 원칙 책임을 잘 지킨 것

    OCP 개방-패쇄 원칙 (Open/closed principle)

    • 다형성의 중요성
    • 확장에는 열려있으나 변경에는 닫혀 있어야 함
    • 이를 지키기 위해서는 설정자가 필요함

    LSP 리스코프 치환 원칙 (Liskov substitution principle)

    • 객체의 정확성

    ISP 인터페이스 분리 원칙 (Interface segregation principle)

    • 범용 인터페이스가 아닌 역할을 나눠 인터페이스를 분리
    • 인터페이스가 명확해지고, 대체 가능성도 높아짐

    DIP 의존관계 역전 원칙 (Dependency inversion principle)

    • 추상화 즉, 인터페이스에 의존하도록 프로그래밍하는 것
    • 구현체에 의존하면 변경에 어려움이 발생

     

    DI 컨테이너: 자바 객체들을 컨테이너에 넣고, 안에서 의존관계를 주입하는 것

    스프링은 클라이언트 코드 변경 없이 기능 확장을 할 수 있게 함

     

     

    결론

    • 역할과 구현 분리
    • 기능을 확장할 가능성이 없다면 구체 클래스, 기능 확장이 필요하면 인터페이스 부여 권장

     

     

Designed by Tistory.