插件式框架成果
从四月份开始由于工作要求开始对插件式GIS框架架构感兴趣,阅读相关资料到现在,我做的插件式GIS框架已经有四个版本了,这四个版本并非以增量的形式实现,而是每个都是在前一个基础上推倒从来。到今天终于已经初具规模。
四个版本的前三个,包括1.0、1.1和1.2版都是使用VS2003+AE9.1开发的,V1.0是一个验证版,用于验证我对插件式GIS框架的一系列想法是否可行,这个版本花费的时间大概3周左右,其成果是一个能够通过plugin进行Command和Tool动态加载的GIS框架,但这个版本非常简单,仅仅能够看地图,没有其它什么高级点的功能。
1.2版本重写了1.0版本的插件引擎,依然使用了后来证明多此一举的配置文件,但它实现了UI界面的布局记录和重现,在这个版本上我还做了几个辅助类库文件,包括基本的数据操作函数都封装为C#函数了。同时,这个版本还试验了硬件加密技术,用于验证许可证发布的可行性。这两个版本后来在一次格式化中都给不小心删除了,不过也没什么价值了。
1.3版本是第一个提供给我们单位数据部门使用的软件,它实现了IToolbar、ICommand、ITool和IMenu接口,并提供了许多实用的辅助类库供使用。这个版本还使用了软件、硬件加密的功能。但以上三个版本都没有考虑如何读取要素类的表数据。
2.0版是使用VS2005+AE91版本来实现的,这个版本使用了诸多新特性,包括泛型的使用,Log4net的使用等,并实现了表数据的读取和有选择集时表数据的显示、空间定位、MXD数据的读取和存储,IDockableWindowDef接口的模拟实现。这两个版本将作为我的一个工作成果进行汇报。
这个版本的例子可以看这个页面:
http://www.56.com/u14/v_MTg2Njk5MDc.html
Related Items
Comments
这个东西很难写,许多技术都涉及到许多软件模式方面的东西,这也是我最近阅读的重点。这个插件框架许多都是经验,我也在学习关于这些经验背后的理论。到阅读有点心得后再写。
关于插件式的GIS框架程序,三年前我就为公司做了一个相对成熟的产品了,关于动态加载工具条,菜单和停靠窗体等等基本上做得和arcmap一致,就象作者所说的那样,的确为基于arcobject开发GIS系统的程序员大大的减轻了工作量,如果哪位有兴趣,欢迎与我交流,本人QQ: 380378138
Leave a comment
Or, take a look at Archives and Categories
是否可以把你做插件体系的方法介绍一下呢?
一些技术关键点和几个接口实现的方法,如果动态生成菜单和工具条,如果自动配置停靠窗口