TypeScript

[TypeScript] 객체지향 설계원칙 SOLID

이경욱 2023. 12. 21. 22:11

S(SRP. 단일책임원칙)

 

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

 

 

 

O(OCP. 개방폐쇄원칙)

 

클래스는 확장에 대해서 열려 있어야 하고, 

 

수정에 대해서는 닫혀 있어야 한다.

 

클래스의 기존 코드를 변경하지 않고도 기능을 확장할 수 있어야 한다.

 

인터페이스나 상속을 통해 해결할 수 있다.

 

 

 

L(LSP. 리스코프 치환 원칙)

 

서브타입은 기반이 되는 슈퍼타입을 대체할 수 있어야 한다.

 

자식 클래스는 부모 클래스의 기능을 수정하지 않고도 부모 클래스와 호환되어야 한다.

 

 

 

I(ISP. 인터페이스 분리 원칙)

 

클래스는 자신이 사용하지 않는 인터페이스의 영향을 받지 않아야 한다.

 

해당 클래스의 무의미한 메소드 구현은 피해야 합니다.

 

 

 

D(DIP. 의존성 역전 원칙)

 

하위 수준 모듈(구현 클래스) 보다

 

상위 수준 모듈(인터페이스)에 의존 해야합니다.

 

 

ex) 데이터베이스 클래스에서

 

로컬 스토리지 or 클라우드 스토리지 

 

둘 중 하나로 타입 한정하는 것이 아닌

 

스토리지 타입으로 묶어서 선언해야 한다.

 

 

'TypeScript' 카테고리의 다른 글

[TypeScript] 타입스크립트 클래스(class) 정리  (0) 2023.12.19
[TypeScript] 개요  (0) 2023.12.19