加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

软件工程中的构件 和  组件

(2011-08-19 11:18:26)
标签:

杂谈

  构件是面向软件体系架构的可复用软件模块。构件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framework)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。1995年,Ian.oraham给出的构件定义如下:构件(Component)是指一个对象(接口规范、或二进制代码),它被用于复用,接口被明确定义[8]。构件是作为一个逻辑紧密的程序代码包的形式出现的,有着良好的接口。像AdaPackageSmalltalk-80和C++的class和数据类型都可属于构件范畴。但是,操作集合、过程、函数即使可以复用也不能成为一个构件。开发者可以通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的。软件构件技术是软件复用的关键因素,也是软件复用技术研究的重点。

组件概念

====1  百度知道

基本概念

  简而言之,组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。   组件是对数据和方法的简单封装。C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。   对象管理小组(Object Management Group,OMG)的“建模语言规范”中将组件定义为:“系统中一种物理的、可代替的部件、它封装了实现并提供了一系列可用的接口。一个组件代表一个系统中实现的物理部分,包括软件代码(源代码,二进制代码,可执行代码)或者一些类似内容,如脚本或者命令文件。”

几组定义

  卡耐基梅隆大学:   一个不透明的功能实体,能够被第三方组装,且符合一个构件模型   计算机百科全书:   是软件系统中具有相对独立功能、接口由契约指定、和语境有明显依赖关系、可独立部署、可组装的软件实体   软件构件著作:   是一个组装单元,它具有约定式规范的接口,以及明确的依赖环境。构建可以被独立的部署,由第三方组装。

====2  http://blog.csdn.net/easyxu/article/details/295423

有人问我组件的概念,我就这样回答了她。
如有错误,大家快快告诉我,赶紧更正,免得她...

组件概念
    组件的概念是在有了面向对象之后产生的,是翻译过来的词汇。其实组件就是对象。中国人喜欢聪明,一定会找出n多个词汇来表达它。所以在c++builder中就程它为组件,到了Delphi中,就称它为部件,跑到VB中就称它为控件,回到面向对象中又称为类和对象。
    所以啊,咱们中国人的名词翻来倒去就是一回事。现在我给你仔细讲讲。
    有一组方法,方法的运行需要一组数据,将他们做封装,就变成了组件。你会说这不和类一样吗?非也非也。类是以源码形式存在的,而组件是以二进制可执行码存在的,是封装了的结果
    在面向对象的语言里,组件一般都从 XXComponent派生出来,这里的XX是依语言不同而不同的,就是一名字而已。
    组件和类一样,都有属性和方法。
    组件有可视化的,和非可视化的。可视化的组件就行vb的控件,delphi的部件,cb的组件一样,可以见到它们的样子,还可以设计阶段手动改动它们的属性。
    从使用者(应用程序开发人员)角度看,组件是已经写好了的,测试没问题的第三方程序,使用时不过是拿来用而已。当然,你也可以开发组件。
    从实际形式上看,组件依据标准不同而有别,delphi,cb的是bpl格式的,vb的是ocx格式的,而到了vc,vc#上就变成了com格式的。其实.net的也是com格式的。呵呵。当然还有其它格式的。
   从具体技术上来说,各家的组件有其不同点,实现(开发)起来技术不一而同。但有一点是相同的,就是谁都可以来开发组件,只要按照它的标准(格式)即可。
    一般来说,开发组件工作比较繁重,要求的也比较高。最重要的就是因为开发出来的组件是给别人用的,既然是给别人用的,质量就要过关,就要少出错不出错,尽量没有bug。
    开发组件过程一般如下:
    1,利用IDE生成组件框架(当然,你也可以手工做,累不累我不负责)
    2,依据需要增加自己的方法和属性
    3,响应属性修改的变化和编写方法代码
    4,有的组件有事件之说,依据需要也要处理
    5,编译
    6,写一个组件使用者来调试组件
    7,利用写好的组件使用者反复调试组件的属性,方法,事件。

    这里再说一下组件开发需要做的设计,就是组件功能的布局,其实也没什么说的,只要按找面向对象的思想,按照类的设计思路(面向对象)做就可以了。

0

阅读 收藏 喜欢 打印举报/Report
前一篇:Spring Bean定义
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有