1.1 前言
目前分布式应用软件越来越多,但在如何平衡分布式应用和单机应用的处理性能有一些麻烦。另外就是从一种分布式技术迁移到另一种分布式技术也很困难。一个原因就是我们的上层应用代码和底层的分布式技术(CORBA,ICE,SOCKET)紧密相关,难以分割导致。本文给出一种分离具体分布式技术的设计方案,目的是强调一点:对于应用软件来讲,CORBA,ICE,SOCKET等具体分布式技术不是核心,核心是我们的客户需要的业务功能。
下面以CORBA和SOCKET(ASN.1协议)为例子说明这种分离架构。
1.2 实现方法
1.2.1 原则:
1. 所有业务功能都通过接口定义;
2. 所有使用业务功能的代码都必须通过接口工厂获取业务接口的实例
1.2.2 软件结构
接口+类工厂的方式。保证任何一个业务模块(组件)对外(包括大平台内部各个业务模块或组件之间)提供的所有服务都是接口,同时提供类工厂让外部访问业务模块(组件)中某个接口的实现。

说明:
1) IExpand是需要外部定制的接口,当然可能存在多个,如果一个业务模块(组件)不需要外部定制,就不存在这个接口了;
2) IPlatform是提供外部使用的功能接口,当然可能存在多个;
3)

本文介绍了如何通过接口定义和类工厂实现应用与分布式技术(如CORBA, ICE, SOCKET)的解耦。通过适配器和委托模式,实现了在服务端和客户端对CORBA与ASN.1的隐藏,使得上层应用能够透明地使用不同的分布式技术,并易于切换。关键在于业务功能的接口化,确保应用的核心是业务而非底层技术。"
5697015,697885,使用ENVI进行图像配准,"['遥感', 'GIS', '图像处理', '投影转换', '影像分析']
最低0.47元/天 解锁文章
2397

被折叠的 条评论
为什么被折叠?



