Clean Architecture/Clean Architecture 기초
[Clean Architecture] 11. SOLID 원칙 - ISP (Interface Segregation Principle)
jake-kim
2021. 6. 23. 22:26
ISP
- 필요 이상으로 많은걸 포함하는 모듈에 의존하는 것을 분리하기 위해, 의존 범위를 interface를 통해 좁히는 것
- User1은 op1()만 사용, User2는 op2()만 사용, User3는 op3()만 사용할 때 아래 구조
- ISP에 어긋난 구조: User1에서는 op2와 op3를 전혀 사용하지 않아도 User1의 소스 코드는 이 두 메서드에 의존하는 관계
- ISP를 따르는 구조: User1, User2, User3 각각 기능에 따라 Interface를 따라서 의존 범위를 좁혀줌으로서 op1이 변경되어도 User2, User3에 영향이 가지 않도록 설계
| ISP에 어긋난 구조 | ISP를 따르는 구조 |
![]() |
![]() |
* 참고
Clean Architecture

