BM.AE是在ArcEngine基础上开发的一个GIS系统的快速开发框架。ArcEngine是我们开发GIS业务系统经常使用的平台,这个平台为我们开发系统提供了很好的接口和功能,但是我们在使用时还是不能很快的搭建起来一个系统,或者搭建起来的系统不能很好的满足我们的需求。根据我这几年使用ArcEngine开发业务系统的经验发现直接使用ArcEngine的功能主要有一些缺点:
1.ArcEngine的工具系统不能很好的和.Net工具按钮关联到一起。如果快速开发直接使用ArcEngine自带的工具的话,我们只能直接使用ArcEngine自带的工具条,这个工具条和我们使用的Winform或者WPF的工具条很不一样,在一起或显得格格不入,而且也不好看,所以在真正的项目上不能直接使用。
2.像数据视图和版式视图同步这样的功能ArcEngine没有直接提供,类似于这样的功能,我们必须得实现。
3.一些常用的对话框我们是不能直接使用的。首先这些对话框界面上的英文,所以一般不能直接使用。其次,界面的风格可能我们系统的风格也不一致。所以我们一般不能直接使用。
针对上面的问题,我们应该在ArcEngine的基础上扩展出一套我们自己的框架,在开始新的项目时能够很快的把框架搭建起来,并且能够用框架中已经开发的工具,界面等并能够保证风格一致。对于命令和工具的定义我们必须设计一套比较完成的体系,让我们定义好的命令和工具可以在不同的UI上体现。还有我们要选定框架界面时用Winform还是WPF,我们选择WPF。选择WPF后,我们最好为框架选择一套商用的第三方控件库。对于一个公司来说我觉得是很有必要选择一个好的第三方UI库,然后开发一些常用的UI,这样以后的项目都尽量使用这个UI库,使项目有很好的连续性。使用第三方控件库一是控件美观功能强大,第二是如果一些UI我们自己开发的话,是会费很大的工作量的,我是觉得很不值得的。综合以上原因,我选择了DevExpress,以后在此框架基础上开发的项目也都默认要使用这个控件库。
目前系统已经做的成果截图如下: