인터페이스 분리 원칙

王林
풀어 주다: 2024-08-25 22:30:33
원래의
835명이 탐색했습니다.

Interface Segregation Principle

어떠한 클라이언트도 사용하지 않는 방법에 의존하도록 강요해서는 안 됩니다

다양한 출력 장치를 객체로 표현한 사무실 공간의 예를 생각해 보세요

인터페이스 분리 원칙 전:

다기능 인터페이스

으아악

이제 다양한 장치에 대해 위의 공통 인터페이스를 구현합니다

모든 기능을 갖춘 XeroxWorkCenter 클래스

으아악

HpPrinterNScanner 클래스에는 인쇄 및 스캔 기능이 있습니다

으아악

CanonPrinter 클래스에는 인쇄 기능만 있습니다

으아악

ISP 위반 식별 기술

  • Fat 인터페이스(두 개의 많은 메서드 선언이 있는 인터페이스)
  • 결합력이 낮은 인터페이스(서로 관련될 가능성이 없는 메서드를 갖는 인터페이스)
  • *빈 메소드 구현 *(클래스가 사용하지 않는 메소드를 강제로 구현해야 하는 경우 메소드 구현을 공백으로 남겨둡니다)

인터페이스 분리 원칙:

으아악 으아악 으아악 으아악 으아악 으아악

각 인터페이스에는 단일 책임이 있으며 이제 훨씬 더 깔끔해졌습니다.

ISP가 다른 SOLID 원칙과 유지하는 관계

단일 책임
인터페이스를 다른 인터페이스로 분리한 후 이제 IPrint, IScan과 같은 모든 인터페이스는 단일 책임을 갖습니다

리스코프 대체
분리로 인해 이제 모든 클래스(인터페이스 구현)가 Liskov 대체를 따릅니다. 모든 하위 유형 또는 구현 클래스가 인터페이스 참조 변수로 대체될 수 있기 때문입니다

위 내용은 인터페이스 분리 원칙의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!