인터페이스 확장 책임 범위
확장된 인터페이스는 부모 계약을 포함하고, 구현 클래스는 누적된 모든 멤버를 만족해야 합니다.
Disposable
자원을 해제하는 최소 계약
RunnableProcess
실행 동작을 추가 · 실행 상태를 추가 · 부모 계약을 그대로 포함
BackgroundTask
작업 시작 구현 · 상태 저장 구현 · 정리 로직 구현
좁게 받기
해제만 필요하면 매개변수 타입을 Disposable 로 둡니다.
넓게 구현
실행 가능한 작업이라면 RunnableProcess 전체를 구현합니다.
핵심인터페이스 확장 책임 범위은 각 요소의 관계와 선택 조건을 함께 읽어야 한다.