您好,欢迎光临有路网!
插件式GIS应用框架的设计与实现--基于C#和ArcGIS Engine9.2
QQ咨询:
有路璐璐:

插件式GIS应用框架的设计与实现--基于C#和ArcGIS Engine9.2

  • 作者:蒋波涛
  • 出版社:电子工业出版社
  • ISBN:9787121071928
  • 出版日期:2008年01月01日
  • 页数:257
  • 定价:¥38.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    《插件式GIS应用框架的设计与实现——基于C#和ArcGIS Engine 9.2》是一本从软件架构的角度来讨论应用框架开发的书籍,它以设计一个基于捕件式机制的NET应用框架为目标,并以开发一款具有实用性的GIS程序为主轴,详细地讨论了整个实现过程涉及的各项知识细节——NET框架、ArcGIS Engine 9.2组件集、第三方界面控件Janus System,GIS的两个常用算法及其实现、,NET程序的打包和部署等。无论是纯粹的.NET爱好者,还是对ArcGIS Engine感兴趣的GIS程序员,都能从奉书中获得自己想要的东西。
    文章节选
    软件产品的开发是一项复杂的系统工程,随着它需要解决的问题复杂度的不断提高,软件产品的研发早已从过去“作坊式”开发演化到了当今符合一系列工业标准和规范的开发模式。软件产品面对的具体应用需求日益多元化、软件项目开发规模日益大型化,这两个因素促使软件开发团队的管理变得越来越复杂,软件开发项日的可控性变得越来越不稳定。
    为了寻找“银弹”,IT工业界采用了多种方法,它们包括制定各种软件开发标准和规范、发明具有更高生产力的编程语言、开发更好的编译器和运行时(Rumime)、提供功能更加强大的可分发组件库和探索更好的软件开发模式。但对于应用程序员而言,各种标准、规范和不断涌现的编程语言并不在自己可以控制的范围之内,大部分情况下,我们只能从软件工程的角度出发,在设计层而采用一些独特的软件架构和设计模式以达到我们期待的下列日的:
    尽量提高软件的可重用性,避免不必耍的重复编码工作。
    增强组件的封装性。
    提高软件的模块化程度。
    不同功能模块之间能够无缝集成。
    软件具有灵活的可扩展性。
    软件产晶的扩展和开发实现标准化。
    软件产品具有面向不同应用层面的适应性和易移植性。
    应用程序的开发足项针对性很强的工作,程序的模块设计、层次划分、语言选择和系统部署部依赖晟终用户的具体需求、软硬件环境甚至个人的喜好。因此,在应用程序开发过程中,项目人员必须花费大量的时间进行项目前期调研,编制不同阶段的需求分析和建设方案,然后才能进入编码阶段,根据具体需求开发各种功能组件。
    如果每一个开发过程都是如此这般,每一次都要从头开始,舍弃以前的项目经验和成果,软件开发显然就是一件乏味且充满重复性的劳动。人类进化的显著特点之一是擅长学习已经存在的知识和经验,并将它们作为开发更广阔未知领域的工具。软件的开发也应该如此:吸取以往的开发经验和教训,尽量重复使用已经存在的组件和材料,以降低开发成本,缩短新技术的学习曲线并提高开发效率。
    本书的主题是设计一个基于插作式架构的GIS应用框架,GIS开发是一种典型的“因势而变”工程,由于不同类型的用户在地理数据的存储、使用和部署方式上都有很大差别,根据实际需求定制开发是不可避免的。而插件式GIS框架,则是满足定制要求的*好方式之一——扩展方便、部署简单和高度可重用。
    目录
    前言
    联系博文视点
    第1章 走进插件式GIS应用框架
    1.1 应用框架精讲
    1.1.1 应用框架简介
    1.1.2 应用框架的特点
    1.1.3 GIS应用框架
    1.2 插件式应用框架
    1.3 ARCGIS ENGINE简介
    1.3.1 ArcGIS产品框架
    1.3.2 GIS开发组件——ArcGIS Engine
    1.3.3 ArcGIS Engine产品类型
    1.3.4 ArcGIS Engine 9.2新特性展现
    1.4 第三方UI组件——JANUS SYSTEMS
    1.5 小结
    第2章 框架插件引擎设计
    2.1 他山之石——ARCMAP插件机制
    2.2 框架通信契约——接口
    2.2.1 接口的秘密
    2.2.2 实现接口与显式实现接口
    2.2.3 C#的实现继承
    2.2.4 继承和重用
    2.3 框架宿主程序设计与实现
    2.3.1 属性——合理冲破私有变量访问限制
    2.3.2 动手——从宿主程序开始
    2.4 框架通信契约设计
    2.4.1 IPlugin接口
    2.4.2 ICommand接口
    2.4.3 ITool接口
    2.4.4 IItemDef接口和实现
    2.4.5 IMenuDef接口
    2.4.6 IToolBarDef接口
    2.4.7 DockableWindowDef接口
    2.4.8 通信契约设计小结
    2.5 插件容器设计与实现
    2.5.1 集合
    2.5.2 泛型机制
    2.5.3 聚合法产生容器
    2.5.4 产生插件容器
    2.5.5 访问容器元素
    2.6 动态加载框架插件
    2.6.1 反射机制
    2.6.2 考虑异常
    2.6.3 插件的动态加载和对象生成
    2.7 框架日志处理
    2.7.1 一个Log4net例子
    2.7.2 Log4net配置文件
    2.7.3 框架的日志设计
    2.8 插件的分类
    2.8.1 类型转换与判别
    2.8.2 插件分类的设计与实现
    2.9 小结
    第3章 框架宿主程序设计
    3.1 静态UI设计
    3.1.1 菜单和状态栏设计
    3.1.2 浮动面板设计
    3.2 插件UI对象
    3.2.1 公共变量的设计
    3.2.2 插件获取
    3.2.3 解析ICommand和ITool对象
    3.2.4 解析IMenuDef和IToolBarDef对象
    3.2.5 解析IDockabieWindowDef对象
    3.3 插件对象的事件处理
    3.3.1 松散耦合的关键——委托与事件
    3.3.2 ITool的Click事件
    3.3.3 ICommand的Click事件
    3.3.4 ITool的地图交互事件
    3.4 小结
    第4章 框架插件设计
    4.1 ArcGIS Engine的扩展框架
    4.1.1 基础类
    4.1.2 内置Command和Tool
    4.1.3 HookHelper原理及应用
    4.2 如虎添翼的Geoprocessing
    4.2.1 什么是Geoprocessing
    4.2.2 运行Geoprocessing工具
    4.2.3 Geoprocessing的批处理
    4.3 插件的设计和实现
    4.3.1 ICommand插件实例
    4.3.2 ITool类型插件实例
    4.3.3 使用内置ITool对象实例
    4.3.4 IDockableWindowDef类型插件实例
    4.4 小结
    第5章 宿主程序的**设计
    5.1 两种视图的同步
    5.1.1 共享同一份地图
    5.1.2 同步类的使用
    5.2 使用TOCControl控制图层
    5.2.1 选择TOC控件的元素
    5.2.2 TOC控件的鼠标交互
    5.2.3 快捷菜单的设计实现
    5.3 要素数据的查询显示
    5.3.1从FeatureClass到DataTable
    5.3.2 DataTable的显示
    5.3.3要素的属性查询和空间定位
    5.4 符号控件应用
    5.4.1 SymbologyControl控件
    5.4.2控件使用实例
    5.5 小结
    第6章 GIS算法的实现
    第7章 框架辅助组件库设计
    第8章 程序的部署与打包

    ……
    编辑推荐语
    《插件式GIS应用框架的设计与实现》特色:并非本单纯的C#语法书,它只祧选了C#中的某些**主题进行深入讨论;并非一本ArcGls Engine 9.2组件包手册,它介绍的不是积木而是堆砌积木的方法;并非一本介绍使用拖曳控件方式开发程序的图书,它更关注如何设计和实现一个插件式应用框架;并非只讲解已知的GIS组件,它也介绍了两个实用的GIS算法并将其基于ArcGIS Engine实现;《插件式GIS应用框架的设计与实现》的软件成果并非一个供学习ArcGIS Engine 而做的简单的Demo它完全可以投入实际应用。

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外