예시로 이해하는 인터페이스 분리 원칙(ISP)
인터페이스는 그 인터페이스를 사용하는 클라이언트를 기준으로 분리해야 한다. 바꿔 말하면, 클라이언트는 자신이 사용하는 메소드에만 의존해야 한다. 다음 예제를 살펴보자. 게시글과 관련한 UI들이 모두 ArticleService 인터페이스를 구현하고 있다. 겉으로 보기에는 아무런 문제가 없어 보이지만.. 예를 들어 게시글 목록 관련된 메소드가 추가된다고 생각해보자. 그러면 게시글 목록 UI와 관련이 없는 게시글 작성 UI, 게시글 삭제 UI 에도 해당 메소드를 추가로 구현해야 할 것이다. 이는 단일책임원칙(SRP)이 위배된 것과 마찬가지로 한 기능의 변화가 다른 기능에 영향을 주고 있으므로 피해야할 상황이다. 그럼 이 문제를 어떻게 해결할 수 있을까? 위와 같이 인터페이스를 분리하면 된다. 이제 각 인터페이..
OOP
2021. 6. 4. 16:55
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SOLID
- gracefulshutdown
- 백기선
- provider
- AOP
- 카카오
- c++
- 데코레이터패턴
- 스프링
- 예외처리
- 객체지향
- OOP
- 자바
- 프로그래머스
- 토비의봄TV
- 코테
- BOJ
- 메서드레퍼런스
- 프록시
- 자바스터디
- 디자인패턴
- 서비스추상화
- 토비의스프링
- 템플릿콜백
- 토비
- java
- 코딩테스트
- 프록시패턴
- 김영한
- ec2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함