저는 현재 상태 기반의 구성 요소 기반 API를 개발 중입니다. 최상위 레벨 구성 요소는 각각 약 12 개의 인터페이스를 구현합니다.인터페이스가 아닌 추상 클래스를 사용하여 매개 변수화하는 경우가 있습니까?
따라서 재고 최상위 구성 요소는 여러 구현을 포함하고 여러 mixin 인터페이스를 구현하는 추상 구현 스택의 꼭대기에 위치합니다.
지금까지 너무 좋았습니다 (희망).
문제는 기본 기능이 구현하기가 매우 복잡하기 때문에 (기본 레이어 5 개 레이어에서 1,000 개의 줄) 구성 요소 작성자가 인터페이스 자체를 구현하는 것이 아니라 기본 클래스를 확장하는 것입니다. 모든 보일러 플레이트 코드는 이미 작성되어 있습니다).
따라서 API가 구성 요소 작성자가 확장하려는 Abstract 구현에 대한 참조가 아닌 인터페이스를 허용하는 경우 구현자가 다른 영역의 코드에서 필수 및 가정 한 유효성 검사를 수행하지 않을 위험이 있습니다. .
따라서 내 질문은 API가 구현하는 인터페이스에 대한 참조가 아닌 추상 구현 참조를 사용하여 API 메소드를 paramerise하는 것이 유효 할 때가 있습니까?
이 기술을 사용하는 잘 디자인 된 API의 예가 있습니까? 아니면 나 자신을 나쁜 관행으로 말하려고합니까?
문제가되는 언어는 무엇입니까? – Bozho