2024年6月1日发(作者:)
前奏
ArcGis
首先,很多一开始接触ArcGis的人总以为它是一个应用程序。很遗憾这种理解是片面,甚
至说是不对的。
ArcGis is a Family. 它是一个家族,是N多个应用程序的集合――-包括客户端软件、服务
器端软件等等
ArcView
然后,很多一开始接触ArcView的人又以为它应该是一个应用程序。很遗憾这种理解又是
片面的,甚至说又是不对的。
ArcView is a Aggregation. 它是一个应用程序的集合体―――包括Arcmap、ArcCatalog、
Arctoolbox三个应用程序。
主旋律
进入正题前,我们还是有必要看一下已经泛滥的一张图片:
(Pic From
ArcMap (core and layer objects)
鉴于大家在这次开发中可能很少涉及关于Page、Element、Mapsurround等Object,所以这
里只是稍微就自己的一字半解来讨论一下Core And Layer Objects。
Core object
Core object并不是一个Object,它是指在Arcmap中核心的几个Objects。从中我又挑出了最
重要也是最常用的三个Object:Application、MxDocument、Map。需要指出的是Application
(要是大家以前碰过VBA,一定不会对Application这个对象陌生的)、以及MxDocument
(Mx前缀表示Arcmap的对象;Gx前缀表示ArcCatalog对象)这两个对象在VB里将不会
碰到,它们只用于VBA定制。
下面的图片将会使这几个对象直观化:
(by kisssy)
小插曲1(COM)
COM不是一种语言,是一种类编程的标准。
l 为什么使用COM?
原因很简单:面向对象;重用,重用再重用;无语言限制(它是一个二进制规范,跟使用什
么语言无关)
Sample1:比如我们用VB编好了一个类,如果把它做成COM类,并编译成DLL,那么我
们就可以在VC、C++、Delphi等任何语言中使用。
l 为什么使用接口?
问题源于:当我们需要改变类的方法中实现过程,或者说其中的一些代码和一些参数设置的
时候,如果不使用接口,你就只能像一个推销员一样,天天上门跟你的用户说:这里方法不
是这么调用的。Maybe it’s cool,but everybody think it’s boring!
那么使用接口又会怎样呢?接口自从你在类设计的时候就规定死了,除非你把它删掉。用户
不需要知道你这个类内部如何变化,他需要做的就是:拿起这把钥匙对准这个钥匙孔!
Sample2:假如我们现在有一个收音的接口:用来播放一些相声和笑话;现在用户提出笑话
很无聊,想听音乐Mp3。那我们要做的就是改变其中的一些代码,而用户仍旧使用这个接
(by kisssy)


发布评论