확실히 각 클래스에는 새로 추가 된 값/메소드 만 들어있는 것처럼 보입니다. 예를 들어, GL44 class에는 OpenGL 4.4에 추가 된 새로운 기능과 일치하는 엔트리 포인트 세트 만 포함됩니다.
단점은 각 호출이 도입 된 버전을 알아야 (또는 조회하여) 호출에 사용할 클래스를 알 수 있다는 것입니다.
나는 클래스들 사이에서 상속 계층 구조를 설정하지 않았다는 것에 놀랐다. 두 세계의 장점을 모두 제공하는 것으로 보입니다.
- 새 버전이 도입되면 기존 클래스 인터페이스가 수정되지 않습니다.
- 프로그래머가 해당 클래스를 사용하여 특정 최대 버전을 쉽게 타겟팅 할 수 있습니다.
- 프로그래머가 통화가 도입 된 특정 버전을 해당 대상 버전에 포함되어있는 한 고려할 필요가 없습니다.
이것은 각 버전이 하위 클래스 관계와 일치하는 이전 버전의 확장이기 때문에 개념적으로도 의미가 있습니다. Android에서 OpenGL ES Java 바인딩은이 방법을 사용합니다. 은 GLES20
에서 파생됩니다. 따라서 ES 3.0을 타겟팅하는 경우 GLES30
에있는 모든 진입 점을 호출 할 수 있으며 이미 ES 2.0에 있었던 항목까지도 호출 할 수 있습니다.