[SOLID] ISP : 인터페이스 분리 원칙

시나브로·2021년 7월 13일
0

SOLID

목록 보기
5/6
post-thumbnail

ISP : 인터페이스 분리 원칙


ISP에 대한 개념은 다음과 같다.

클라이언트가 자신이 이용하지 않는 메서드에 의존하면 안된다

즉, 하나의 책임만을 가지는 작은 규모의 인터페이스로 분리해야한다.



배포




다수의 사용자가 OPS 클래스의 오퍼레이션을 사용한다. User1은 op1, User2는 op2, User3는 op3만을 사용한다 가정하자.

이 경우 User1은 op2, op3를 사용하지 않음에도 User1의 소스 코드는 이 두 메서드에 의존하게 된다. 때문에 op2가 변경이 된다면 User1도 컴파일한 후 재배포해야한다.

이는 다음과 같이 해결할 수 있다.



User1은 U1Ops와 op1에 의존하지만 OPS에는 의존하지 않는다. 따라서 OPS에 대한 변경사항이 User1과는 관계없게 되고 User1을 다시 컴파일하고 배포하는 상황은 발생하지 않는다.



결론


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







참조


profile
Be More!

0개의 댓글