S(SRP)(Single Responsibility Principle) 단일 책임 원칙
-> 한 클래스는 하나의 책임만 가져야 한다.
O(OCP)(Open/Close Principle) 개방-폐쇄 원칙
-> 소프트웨어 요소는 확장에는 개방되어야 하나, 변경에는 폐쇄적이어야 한다.
L(LSP)(Liskov Substitution Principle) 리스코프 치환 원칙
->부모클래스의 객체는 언제든지 자식 클래스의 객체로 바뀔 수 있어야 한다.
I(ISP)(Interface Segregation Principle) 인터페이스 분리 원칙
-> 특정 클라이언트를 위한 인터페이스 여러 개가 범용적인 인터페이스 1개보다 낫다.
즉, 세부적으로 나눌 수 있으면 나누는 것이 좋다.
D(DIP)(Dependency Inversion Priciple) 의존관계 역전 원칙
-> 구체적인 것 말고 추상적인 것에 의존하라. 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안된다.
의존성 주입(Dependency Injection)이 그 예이다.
의존성 주입 : 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉
(각각의 계층 또는 서비스 간에 의존성이 존재할 경우 연결)
'공부 > CS' 카테고리의 다른 글
[CS] 블록체인이란? (1) | 2022.03.26 |
---|---|
[CS] WEB VS WAS (0) | 2022.03.14 |
[CS] Process VS Thread (0) | 2022.02.28 |
[CS] DB Transaction의 4가지 성질 (2) | 2022.02.23 |
[CS] 객체 지향 프로그래밍의 특징 (2) | 2022.02.19 |