Spring을 사용하는 이유 , 객체지향 설계가 좋은 이유
-> 다형성을 활용 ( 인터페이스를 두고 구현체를 바꿔끼기 가능)
-> Spring은 컨테이너가 다형성을 지원해주기 때문에 매우 편리함 !
-> 기존의 코드는 수정하지 않고, 어플리케이션을 설정하는 코드(어셈블리)만 수정하면 됨 !
SOLID (객체 지향 설계의 5가지 원칙)
-> 객체지향 설계에서 지켜져야 할 5개의 소프트웨어 개발 원칙
-> 코드의 유지보수성과 확장성을 높이는 데 도움을 준다.
- 단일 책임 원칙 (Single Responsibility Principle, SRP)
- 한 클래스는 하나의 책임만 가져야 합니다.
- 개방-폐쇄 원칙 (Open/Closed Principle, OCP)
- 소프트웨어 요소는 확장에는 열려있고, 기존 코드의 수정, 변경에는 닫혀 있어야 합니다.
-
스프링의 DI (Dependencies Injection)을 사용하면 기존 코드를 전혀 손대지 않고, 설정만으로 구현 클 래스를 변경할 수 있다.
- 리스코프 치환 원칙 (Liskov Substitution Principle, LSP)
- 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 합니다. (하위 타입 객체는 상위 타입 객체에서 가능한 행위를 수행할 수 있어야 합니다.
- 인터페이스 분리 원칙 (Interface Segregation Principle, ISP)
- 클라이언트는 자신이 사용하는 메소드에만 의지해야 합니다. 여러 개의 구체적인 인터페이스로 나눠야 하며, 이를 통해 불필요한 종속성을 줄일 수 있습니다.
- 의존성 역전 원칙 (Dependency Inversion Principle, DIP)
- 구체화에 의존해서는 안 되며, 둘 다 추상화에 의존해야 합니다. 즉, 구현 클래스에 의존하지 말고, 추상적인 인터페이스에 의존함으로써 유연성과 재사용성을 높일 수 있습니다.
[ 참고자료 ]
✏️ SOLID, 좋은 객체지향 설계의 5가지 원칙
SOLID라는 좋은 객체지향의 설계의 5가지 원칙이 존재한다. SOLID는 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존 역전 원칙)의 앞글자를 따
velog.io
💠 객체 지향 설계의 5가지 원칙 - S.O.L.I.D
객체 지향 설계의 5원칙 S.O.L.I.D 모든 코드에서 LSP를 지키기에는 어려움. 리스코프 치환 원칙에 따르면 자식 클래스의 인스턴스가 부모 클래스의 인스턴스를 대신하더라도 의도에 맞게 작동되어
inpa.tistory.com
'Spring Study' 카테고리의 다른 글
[스프링 핵심 원리] - 기본편 #4 (1) | 2025.03.14 |
---|---|
[스프링 핵심 원리] - 기본편 #3 (0) | 2025.03.11 |
[스프링 핵심 원리] - 기본편 #2 (0) | 2025.03.09 |
[스프링 핵심 원리] - 기본편 #1 (1) | 2025.03.02 |
[스프링 입문] -코드로 배우는 스프링 부트 # 1 (0) | 2025.02.12 |