COM (구성 요소 개체 모델)을 사용할 때 I'veread 인터페이스는 변경 불가능하며 새 인터페이스 버전의 인터페이스는 기존 인터페이스의 동작을 변경하는 대신 명시 적으로 다른 이름을 갖습니다. 예를 들어, ICollection
의 새 버전은 ICollection2
또는 ICollectionEx
이지만, 후자는 권장되지 않습니다 (완전히 이해할 수 있음).COM "규칙"은 어떻게 적용됩니까?
미적 감수성 (거대한 계획에서 아주 사소한 것)을 희생시키면서 이전 버전과의 호환성에서이 접근법에서 얻을 수있는 많은 가치가 있다는 것을 알았습니다. 이 불변의 인터페이스 아이디어가 시행되고 있습니까, 그렇다면 어떻게, 그리고이 접근 방식을 취하는 다른 시스템이 있습니까?
규칙은 위반할 때 무언가 충돌하고 화상을 입을 가능성이 있다는 사실에 의해 "시행"됩니다. 이전 버전과의 호환성을 손상시키는 코드는 기본적으로 역 호환되지 않습니다. –
[COM 인터페이스 계약이 불변 인 이유는 무엇입니까?] (http://stackoverflow.com/questions/29056322/why-is-the-com-interface-contract-immutable) 불변성은 관례에 따라 시행됩니다. (COM은 무한한 지식이 없으며, 오늘 정의하는 인터페이스가 어제 정의한 인터페이스를 수정 한 것임을 알지 못합니다.) –
@IgorTandetnik 충분합니다. –