API
애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 통칭 API라고 하는 이것은 시스템 내 여러 구성 요소(예 서비스, 컴포넌트, 모듈 등) 간 통신에 반드시 필요한 요소입니다. 각 구성 요소가 서로 상호 작용할 수 있도록 하는 규약을 정의합니다. 이것으로 모듈화와 관심사의 분리를 만들 수 있기도 합니다. API를 설계할 때는 다음 사항을 고려하는 것이 바람직합니다.
• 일관성: 컴포넌트, 모듈 할 것 없이 모든 구성 요소에서 API 설계가 일관성을 유지하여 누가 보더라도 이해하고 사용하기 쉬워야 합니다.
• 유연성: 기존 기능에 영향을 주지 않으면서 향후에 생길 변경이나 기능 확장을 대비할 수 있어야 합니다.
• 보안: 인증, 권한 부여, 입력 유효성 검사 등을 구현하여 시스템이 허용하지 않은 무단 접근과 데이터 유출에 노출되지 않도록 합니다.
• 성능: API의 지연 시간을 최소화하고 자원을 효율적으로 사용할 수 있도록 최적화합니다.
API를 깔끔하고 명확하게 설계하면 시스템이 하위 호환성을 보장하도록 만들 수 있습니다.