티스토리 뷰

SOLID

  • SRP (Single Responsibility Principle) : 단일 책임 원칙
  • OCP (Open-Closed Principle) : 개방 폐쇄 원칙
  • LSP (Liskov Substitution Principle) : 리스코프 치환 원칙
  • ISP (Interface Segragation Principle) : 인터페이스 분리 원칙
  • DIP (Dependency Inversion Principle) : 의존관계 역전 원칙

 

SRP, 단일 책임 원칙

한 클래스는 하나의 책임만 가져야 한다

 

클래스에서 변경사항이 있을 때, 애플리케이션의 파급 효과가 적으면 SRP 원칙을 잘 따른 것으로 볼 수 있다.

 

 

OCP, 개방 폐쇄 원칙

소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다

 

객체를 직접 수정하지 않고도 변경사항을 적용 할 수 있도록 설계해야 한다 -> 객체를 추상화함으로써 확장엔 열려있고, 변경엔 닫혀있는 유연한 구조를 만들 수 있다.

 

 

LSP, 리스코프 치환 원칙

객체는 프로그램의 정확성을 깨지 않으면서 하위 타입의 인스턴스로 바꿀수 있어야 한다.

 

자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야한다 -> 부모 클래스가 들어갈 자리에 자식 클래스를 넣어도 계획대로 잘 작동해야 한다.

 

 

ISP, 인터페이스 분리 원칙

범용 인터페이스 하나보다는 특정 클라이언트를 위한 여러 개의 인터페이스 분리가 더 좋다.

 

하나의 일반적인 인터페이스보다 여러개의 구체적인 인터페이스가 좋다.

 

 

DIP, 의존관계 역전 원칙

프로그래머는 “추상화에 의존해야지, 구체화에 의존하면 안된다.” 의존성 주입은 이 원칙을 따르는 방법 중 하나다.

 

구체적인 클래스보단 인터페이스나 추상 클래스와 관계를 맺어야 한다.

 

 

 

참조) 스프링 핵심 원리 - 기본편(김영한)

'개발 > Spring' 카테고리의 다른 글

[JPA] - JPA 영속성 컨텍스트(PersistenceContext)  (0) 2022.01.30
[JPA] - JPA란  (0) 2022.01.25
[Spring] - 의존관계 주입  (0) 2022.01.10
[Spring] - 빈(Bean) 수동등록, 자동등록  (0) 2021.12.28
[Spring] - JUnit5 기초  (0) 2021.12.04
링크
최근에 올라온 글
글 보관함
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31