SRP(Single Responsibility Principle) - 단일책임의 원칙
작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 모든 서비스는 그 하나의 책임을 수행하는 데 집중되어있어야 한다. ⇒ 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이다.
클래스가 변경 될 때 파급 효과가 작으면 된다.
OCP(Open Closed Principle) - 개방 폐쇄 원칙
객체의 확장은 개방적으로, 객체의 수정은 폐쇄적으로 하는 것
⇒ 하나의 변화가 다른곳에서 연쇄적 변화를 일으키는 것을 방지 (새로운 기능을 추가 할 때 기존 코드를 수정하지 않고 확장 할 수 있도록 설계할 것)
⇒ 다형성 활용
LSP(Liskov Substitution Principle) - 리스코프 치환 원칙
자식 클래스는 언제나 부모 클래스를 대체 할 수 있어야 한다.
ISP(Interface Segregation Principle) - 인터페이스 분리 원칙
한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다.
- 클래스가 다른 클래스에 종속될 때 최소한의 인터페이스 만을 사용해야 한다.
- 클라이언트는 자신이 아숏하지 않는 메소드에 의존하지 않아야 한다.
DIP(Dependency Inversion Principle) - 의존 역전 원칙
고수준 모듈은 저수준 모듈의 구현에 의존해서는 안된다. 저수준 모듈이 고수준 모듈에서 정의한 추상타입에 의존해야 한다.
⇒ 자신보다 변하기 쉬운것에 의존해서는 안된다.
'Camp > 정리' 카테고리의 다른 글
| [KPT 회고] 뉴스피드 프로젝트 (0) | 2024.11.25 |
|---|---|
| JPA를 활용한 join 구현과 Project Trouble Shooting (0) | 2024.11.24 |
| [TIL/JAVA] ArithmeticException (0) | 2024.10.15 |
| 1주차 프로젝트 회고록 (0) | 2024.10.07 |
| Backend 용어 정리 (0) | 2024.10.07 |