详解IMapControl2、IMapControl3、 IMapControl4不同

来源:互联网 发布:php 手机回收网站源码 编辑:程序博客网 时间:2024/05/01 23:27

IMapControl2、IMapControl3、 IMapControl4   这三个接口中的大部分方法是相同的。
   不知道ESRI 为何要设计成三个

已经发布的接口是不允许修改的,要想增加接口的功能,可以给接口标序号。如 Interface1、Interface2、 Interface3……  
       某日,我们设计了组件A,它有2个自定义(custom)接口。IMathe 有函数Add()完成整数加法,IStr 有函数Cat()完成字符串连接。忽一日,我们升级组件A到B,欲增加一个函数 Mul() 完成整数的乘法。注意,由于我们已经发表了组件A,因此我们不能把这个函数安排到老接口 IMathe 中了。解决方法是再定义一个新接口 IMathe2,在新接口中增加 Mul() 函数并依旧保留 Add() 函数。这样,老用户不知道新接口 IMathe2 的存在,他仍然使用旧接口 IMathe;而新用户则可以抛弃 IMathe,直接使用 IMathe2 的新接口功能。看,多平顺的升级方式呀!

0 0
原创粉丝点击