하나의 변경 이유만 가진다.
SOLID
SOLID는 TypeScript 타입으로 변경 지점을 좁히는 설계 기준이다
원칙을 외우기보다 클래스와 인터페이스가 왜 바뀌는지, 의존성이 어느 방향으로 흐르는지 확인한다.
확장에는 열고 수정에는 닫는다.
하위 타입이 상위 계약을 깨지 않는다.
큰 인터페이스를 역할별로 나눈다.
구현보다 추상에 의존한다.
적용 기준: 타입을 추가할수록 코드가 덜 흔들리면 좋은
추상화이고, 더 많은 수정이 필요하면 경계가 잘못된 것이다.