본문 바로가기
프로그래밍 놀이터/디자인 패턴, 리펙토링

[책 정리] 10장. ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 - Clean Architecture

by 돼지왕 왕돼지 2020. 4. 14.
반응형

ISP 와 언어

 

-

정적 타입 언어는 사용자가 import, user 또는 include 같은 타입 선언문을 사용하도록 강제한다.

이처럼 소스 코드에 포함된 선언문으로 인해 소스 코드 의존성이 발생하고, 이로 인해 재컴파일 또는 재배포가 강제되는 상황이 무조건 초래된다.

 

루비나 파이썬 같은 동적 타입 언어에서는 소스 코드에 이러한 선언문이 존재하지 않는다. 대신 런타임 추론이 발생한다.

동적 타입 언어를 사용하면 정적 타입 언어를 사용할 때보다 유연하며 결합도가 낮은 시스템을 만들 수 있는 이유가 이 때문이다.

 

 

 

ISP 와 아키텍처

 

-

일반적으로, 필요 이상으로 많은 걸 포함하는 모듈에 의존하는 것은 해로운 일이다.

소스 코드 의존성의 경우 이는 분명한 사실인데, 불필요한 재컴파일과 재배포를 강제하기 때문이다.

 

 

 

결론

 

-

불필요한 짐을 실은 무언가에 의존하면 예상치 못한 문제에 빠질 수 있다.

 

반응형

댓글