《插件式GIS应用框架设计与实现》简介

Posted by 蒋波涛 10 January,2008 Views (5)Comment

应用程序的开发是一件针对性很强的工作,程序的结构设计、层次划分、语言选择和系统部署都依赖最终用户的具体需求、软硬件环境甚至个人喜好。因此,在应用程序开发过程中,项目人员必须花费大量的时间进行前期调研,编制不同阶段的需求报告,然后才能进入编码阶段,根据具体需求开发各种功能组件。

如果每一个开发过程都是如此这般,每一次都要从头开始而舍弃以前的项目经验和成果,软件开发显然就是一件乏味且充满重复性的劳动。人类进化的显著特点之一是擅长学习已经存在的知识和经验,并将它们作为认识更广阔未知领域的工具。软件的开发也应该如此:吸取以往的开发经验和教训,尽量重复使用已经存在的组件和材料,以降低开发成本并提高开发效率。
幸运的是,代码的重用从来不是一个过时的话题。在软件开发中,为了实现这一目标,函数库、类库、设计模式和框架等机制竞相被人提出,不断地为提高软件生产率和代码质量而努力。而框架,作为这些重用机制中最高级的一种,在结构复杂、需求多变的各种规模程序设计中具有很强的吸引力——框架不仅仅提供了大量的可重用组件,而且提供了一种工作模式去扩展自身的功能。特别是插件式框架,它以一种更加灵活和松散的方式实现了框架功能的无限扩展和功能耦合。
 
本书的主题是设计一个基于插件式架构的GIS应用框架,GIS开发是典型的“因势而变”类型工程,由于不同类型的用户在地理数据的存储、使用和部署方式上都有很大差别,根据实际需求定制开发是免不了的。而插件式GIS框架,则是满足定制要求的最好方式之一:扩展方便、部署简单和高度重用。
为了开发这个框架,我们使用了C#2005、.NET Framework2.0基础类库、ESRI最新推出的ArcGIS Engine9.2组件库和Janus System UI第三方组件库。
应用框架使用的开发语言是C#,它总是在.NET Framework中运行。因此,本书个章节中将首先讨论开发该框架某部分使用的关于C#和.NET Framework2.0的相关知识。这些内容并非简单的语言语法,它还包括许多隐藏在语法后的使用技巧和模式,即使其中的某些内容并没有直接用于框架设计,但它对于想要深入了解C#和.NET Framework高级主题的读者仍然具有实用价值。
插件式GIS应用框架使用了ArcGIS Engine组件库作为其GIS部分的二次开发包,因此我们在本书中也讨论了大量关于ArcGIS Engine的知识,尤其是ArcGIS Engine9.2版本包含的新组件和新的扩展框架,这个重要的版本使得我们的开发工作变得更加容易,开发的程序功能也更加强大。但本书并没有系统地介绍其相关的内容。如果读者还不熟悉ArcGIS Engine或ArcGIS开发,可以参看拙著《ArcObjects开发基础与技巧——基于VisualBasic.Net》(武汉大学出版社 2006.5)或其它关于有关ArcGIS开发的书籍。
除了具体的技术,在本书中将要讨论的另一个重点是开发一个插件式GIS应用框架的模式,它包括设计模式和工作模式两部分。这些知识是开发者从初窥门径到登堂入室必须了解的内容,是隐藏在GIS应用框架中的精髓。
 
这并不是一本关于C#的语法书,它只挑选了C#中的某些高级主题进行深入讨论;这也不是一本ArcGIS Engine9.2开发包的组件手册,它介绍的是如何使用这些组件进行实际的程序开发;这并不是一本介绍使用拖曳控件方式开发程序的书籍,它更关注如何设计和实现一个插件式框架;这也并不是一本只讲解如何使用ArcGIS组件的书籍,它介绍了两个实用的GIS算法并基于ArcGIS Engine实现;最后,本书的软件成果并非一个只能供学习ArcGIS Engine而开发的简单Demo,它完全可以投入实际应用之中。
因此,本书适合以下读者阅读:
  • 具有一定C#和.NET Framework基础知识,并动手写过代码的读者;
  • 已经熟悉ArcGIS开发技术,并希望开发水平更上一层的程序员;
  • 对软件架构设计,特别是插件式框架设计有兴趣的读者;

Related Items

Categories : 著作出版 Tags : 作者著作  个人咚咚  
Comments
2008-1-17 22:29:07

什么时候有销售,如果有销售了,请告知
我的邮箱是deskfee@126.com,谢谢

Posted by deskfee Gravatar Icon

2008-1-25 21:33:05

怎么光打雷不下雨

Posted by lhb Gravatar Icon

2008-1-26 0:26:59

目前进度已经完成80%的章节Haha

Posted by 蒋波涛 Gravatar Icon

2008-4-11 21:30:04

顶,本人现在想学习AO,不知能否借来看看?zklv2005@hotmail.com

Posted by Tony Gravatar Icon

2008-4-11 22:22:28

初学的人可找我的那本《ArcObjects开发基础与技巧》。这本书是预备出版的,肯定不能到处散发。

Posted by 蒋波涛 Gravatar Icon

Leave a comment

Or, take a look at Archives and Categories

目录

存档