1. 基本原理

组件是组件系统中功能的表现,没有组件就没有功能。特定接口是用于给组件管理程序来操纵、管理该组件,特定功能是组件需要完成的任务。在一个使用组件建立的产品中会随着功能数目的多少而会有多个组件的存在。  组件与组件管理程序的交互通过接口来完成,所以对于一个组件体系,组件接口的定义是很重要的事情。接口的定义描述了组件管理程序与组件的调用规则和交互过程。

2. 组件技术

概念

   : 组件是可独立完成某个或一系列功能的模块.通常组件由宿主程序加载,不能独立运行。

宿   : 宿主是承载组件运行的环境,为组件提供基本服务。通常组件由宿主程序管理和控制。

组件式: 通常是由开发人员编写宿主程序,并预先定义好系统提供基本服务接口和组件接口。然后由其他开发人员根据系统组件接口编写组件功能。通常组件以一个独立功能模块的形式出现。对于宿主程序来说并不知道组件的具体功能,通常宿主启动时检索组件信息,并根据预定的组件接口装载组件。

优势

增强系统扩展性: 在系统发布后可在不必重新编译系统的前提下按需对系统功能进行扩充。

易维护及复用性: 组件通常为独立的功能模块易于管理与维护,并可在多个业务系统中重用。

3. 组件管理

组件管理模块对所有组件进行管理和控制。对组件的管理主要是对本地的所有组件进行登记加载、运行控制、状态维护、停止释放。对组件的控制主要是要对本地的组件实现组件的加载、运行、停止、状态跟踪、组件交互、释放组件;如果平台涉及到网络通讯,那么还要实现对远程机器上的指定组件的运行和停止的控制,实现整个网络内的平台在逻辑上是一个整体,为上层插件应用提供透明的远程组件调用,而不需要关心下层的实现。

接口布局模块主要是了实现了接口表示。由于平台可以动态增加和减少组件,所以对在接口上如何有效布局和显示组件是需要一个方案来实施。接口布局模块更多的与一个产品的关联要大些,其实现对产品的接口需求有一定的依赖。当然如果有其他的应用方面的需求,平台的功能还可以进一步扩展。

4. 组件式架构优势

随着软件规模和复杂性的不断增加,在软件设计中,软件的局部和整体的系统结构显得越来越重要,对此人们提出了软件体系结构的概念。
      根据软件体系结构的发展历程,我们可以把软件体系结构分为四个阶段:无结构、萌芽、初级和高级阶段。自上世纪 90 年代步入高级阶段以来,软件开发的目标是使软件具备较好的自适应性、互操作性、可扩展性和可重用性,软件开发强调采用构件化技术和体系结构技术。
  软件体系结构在软件开发和维护中发挥着重要作用,在软件开发中,软件工程队软件体系结构设计支持的需求越来越迫切。同时越来越多人认可软件体系结构是整个软件设计成功的基础和关键所在,在项目实施和项目维护升级阶段表现尤为明显。在项目的实施阶段,体系结构是建立开发人员的组织、分工、协调开发人员关系和配合的依据。在项目的维护升级阶段,对软件对任何扩充和修改都要在体系结构的指导下进行,以维护整体设计的合理性和正确性,并为维护升级的复杂性和代价分析提供依据。经过长时间的积累,软件开发人员借鉴了硬件组成原理,基于组件式程序设计思想,提出了插件式软件体系结构,这一理论给软件开发工程注入了无限的活力。
  插件式体系结构是一种非常灵活的组件式结构,它把程序的功能分散在插件中来完成。插件是可独立开发的程序模块,它能够动态地插入到系统中,并且可以被自由地删除和替换。因此它能够提高软件开发的并行性和开发效率,降低设计开发难度,缩短开发周期,增强应用程序的可运行性、可测试性和可维护性。归纳起来,基于组件技术的软件架构的优势主要为:
      插件体系结构能够提高软件的复用度。
      插件体系机构因为强大的独立性,可以提高软件开发的并行性,为软件产业的大规模生产提供支持。
      插件体系能够缩短软件的研发周期、节约研发成本,带给程序开发人员更多的灵活性,产品在软件发布以后还可以添加新的插件和完善已有的功能。
      插件体系结构方便软件的升级和维护。传统的应用程序因为采用单一的固定的模块,功能模块不易维护和替换,但是插件却可以动态的变更功能,对软件的升级和维护带来很大的帮助。
      插件体系结构可以满足用户不断变化的需求,缩短项目交付周期,而这传统点体系机构很难满足和实现。
      插件体系结构提供了更多的开发可能性,任何对该软件感兴趣的程序员都可以加入软件开发大军中,以集体的力量丰富完善软件。
      ...
      目前,我们看到组件技术已经被成功应用到国内外的多种软件中,如浏览器 chrome,图像处理软件 photoshop,java 开发平台 eclipse,报表开发软件 finereport,社区软件 discuz 等,虽然这些软件都采用了组件技术,但是不同的产品的实现方式也是多种多样和各不相同。然而毫无疑问,随着用户需求的不断增加,边缘创新的不断冲击,软件工程的不断发展,基于组件技术的软件开发方法将得以普及。

.Net 组件技术概述的更多相关文章

  1. 【VS开发】COM组件技术概述

    这篇文章对COM做出来比较完整的解释,非常好. COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术.在COM构架下,人们可以开发出各种各样功能专一的组件,然后将它 ...

  2. (转)Eclipse平台技术概述

    转载:周金根 http://zhoujg.blog.51cto.com/1281471/516833    Eclipse:Eclipse平台技术概述 2010-10-19 13:35:00 标签:E ...

  3. IM-即时通讯技术概述

    IM-即时通讯技术概述 简述 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容.大多数常用的即时通讯发 ...

  4. vue项目实现按需加载的3种方式:vue异步组件技术、es提案的import()、webpack提供的require.ensure()

    1. vue异步组件技术 vue-router配置路由,使用vue的异步组件技术,可以实现按需加载. 但是,这种情况下一个组件生成一个js文件. 举例如下: { path: '/promisedemo ...

  5. iPhone之IOS5内存管理(ARC技术概述)

    ARC(Automatic Reference Counting )技术概述 此文章由Tom翻译,首发于csdn的blog,任何人都可以转发,但是请保留原始链接和翻译者得名字.多谢! Automati ...

  6. 微信团队分享:iOS版微信的高性能通用key-value组件技术实践

    本文来自微信开发团队guoling的技术分享. 1.前言 本文要分享的是iOS版微信内部正在推广和使用的一个高性能通用key-value 组件的技术实践过程,该组件在微信内部被命名为MMKV(以下简称 ...

  7. HiCar技术概述

    HiCar技术概述 HUAWEI HiCar(以下简称 HiCar)是华为提供的人-车-家全场景智慧互联(HUAWEI HiCar Smart Connection)解决方案,具备如下特点: 安全交互 ...

  8. HDFS(Hadoop Distributed File System)的组件架构概述

    1.hadoop1.x和hadoop2.x区别 2.组件介绍 HDFS架构概述1)NameNode(nn): 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个 ...

  9. [转载]WEB缓存技术概述

    [原文地址]http://www.hbjjrb.com/Jishu/ASP/201110/319372.html 引言 WWW是互联网上最受欢迎的应用之一,其快速增长造成网络拥塞和服务器超载,导致客户 ...

随机推荐

  1. linux下ssh使用rsa验证登陆MACOX

    由于项目的需求,我这边ubuntu下常常需要SSH访问另外一台MACOS. 每次输入密码有点烦,就想到RSA公钥和密钥验证的方法. 像所有教程上讲的一样,本机执行 gong@hzsx:~$ ssh-k ...

  2. 教程-经典Delphi教程网

    有理想+志同道合的人+取长补短去协同工作=完美团队一流的项目 + 三流的执行者 = 垃圾项目三流的项目 + 一流的执行者 = 完美项目 自己公司网址:http://www.kaideruixin.ic ...

  3. elecworks 电缆型号管理器

    部件的命名:系列  导线数x尺寸                                            (不含保护类型的电线) 或:系列  导线数G尺寸      G(指保护线颜色gr ...

  4. 用UGN3503霍尔器件制作的数字指南针_电路图

    本文介绍了用两个UGN3503型霍尔器件设计制作的数字指南针的设计目的.系统结构和工作原理,以及各主要器件的使用方法.本系统包括UGN3503型霍尔器件.TLC0832 A/D转换器.单片机控制.液晶 ...

  5. cadence16.6 中orcad导出网表时ERROR (ORCAP-5004)(win7 旗舰版32位)

    1,选择开始>运行,打开运行窗口.2,输入cmd,打开命令行窗口.3,进入cmd,找到orpxllite.ocx和orTrueReuse.ocx的所在的目录4,输入以下命令:regsvr32 & ...

  6. Android 开机默认横竖屏

    做Android系统开发时,经常遇到机器开机默认横竖屏问题,现整理如下: 方法一:修改WindowManagerService.java 在这个类中修改int mRotation = 0;这个值即可. ...

  7. maven快速入门

    一.maven maven可以说是管理项目的优秀工具,管理jar包 二.mave安装 1.先安装jdk(本文不详细讲) 2.安装maven ①.maven下载   http://maven.apach ...

  8. NSDateFormatter 问题

    NSDateFormatter *inputDateFormatter = [[NSDateFormatter alloc] init]; NSString *inputDateStr = @&quo ...

  9. [RxJS] just, return

    Sometime, we migth just want to return a object which wrap into Observable. You can use 'just' or  ' ...

  10. SAP 库存查询算法

    SAP 的后台有关库存的表,是一种很有意思的表.库存表分两种,一种是当前库存表,另一种是历史库存表.例如有MARD\MCHB\MSPR\MKOL等表,对应的历史库存表就是MARDH\MCHBH\MSP ...