원칙을 외우기보다 클래스와 인터페이스가 왜 바뀌는지, 의존성이 어느 방향으로 흐르는지 확인한다.
하나의 변경 이유만 가진다.
확장에는 열고 수정에는 닫는다.
하위 타입이 상위 계약을 깨지 않는다.
큰 인터페이스를 역할별로 나눈다.
구현보다 추상에 의존한다.
핵심TypeScript SOLID 원칙은 각 요소의 관계와 선택 조건을 함께 읽어야 한다.