文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

件架构设计构件与中间件技术-构件

2024-11-30 15:38

关注

构件和传统的对象比较,我们一般认为构件的粒度比对象要大,服务又比构件要大一号。而构件和对象具体有如下一些区别:

构件的特性

对象的特性

模块的特性

独立的部署单元 2.作为第三方的组装单元 3.没有(外部的)可见状态

一个实例单元,具有唯一的标识 2.可能具有状态,此状态外部可见 3.封装了自己的状态和行为

结构化开发的产物

没有外部的可见状态就是,直接从外部不能访问,一般提供统一访问的入口。对象如果没有封装好的话,外部是可以访问的,如果封装好的话,也能做到统一入口访问,这样安全性和可靠性会更高。

构件系统架构的特性(了解,不怎么重要)

构件系统体系结构由一组平台决策,一组构件框架和构件框架之间的互操作设计组成。

构件框架是一种专用的体系结构(通常围绕一些关键的机制),同时,也是一组固定的作用于构件层次机制的策略。 概念框架的互操作设计包括系统体系结构连接的所有框架的互操作的规则。

构件是一组通常需要同时部署的原子构件,构件和原子构件之间的区别在于,大多数原子构件永远不会单独被部署,尽管它们可以被单独部署。

一个原子构件是一个模块和一组资源。模块是一组类和可能的非面向对象的结构体,比如过程或者函数。资源是一个类型化的项的固定集合。

资源可以包含代码,进而包含模块,问题在于除了编译器编译一个模块或包生成的资源外,还可能存在其他的资源。在纯对象的方法中,资源是外部化的不可改变的对象。不可改变是因为构件没有持久化标志,而且赋值不能被区分

构件的复用

假设我们要利用构件的思想开发一套系统,首先我们要经历这样一个流程:检索于提取构件--->理解于评价构件--->修改构件--->组装构件.

检索于提取构件

一般是已经有了一些构件,但是标准化程度不是很高,此时需要先去找到构件

然后把构件提取出来

检索和提取构件有几种方式

系统在图形用户界面上将构件库的关键字呈树形结构直观的展示给用户,复用者通过对树形结构的逐级浏览,寻找需要的关键字并提取相应的构件.

      该方法基于刻面分类法,由三步构成,分别是构造查询,检索构件和对构件进行排序.优点是易于查找相似构件,但构造查询时比较麻烦.

      复用者先给出一个或多个关键字,系统在构件的说明文档中进行精确或模糊的匹配,匹配成功够列出相应构件说明. 优点是对用户友好,但有时候难以在浏览过程中找到正确的那部分构件.

提取构件之后,需要理解和评价构件

理解于评价构件

检索于提取构件--->理解于评价构件--->修改构件--->组装构件.

要复用构件,准确的理解构件是至关重要的.特别是您要使用或修改这个构件时.

为达到目的,必须要求构件的开发遵循公共标准

一般构件库的文档中全面而准确的说明了构件的功能与行为,相关的领域知识,可适应性约束条件和例外情形,可预见的修改部分及修改方法.

当您理解这个构件是怎么一回事了,它能不能达到我们的要求,是不是完全匹配我们的需求, 假设这个构件不能完全满足需求,有些功能有,有些没有,此时就需要修改构件了.

修改构件

检索于提取构件*--->理解于评价构件--->修改构件--->组装构件.

理想状态是直接复用现成的构件,但多数情况下,都必须对构件进行或多或少的修改,以应对新需求.

为了减少构件的修改工作量,要求开发人员尽量使构件的功能,行为和接口设计更加抽象化,通用化和参数化.这样,复用者可通过参数选取来调整构件的功能或行为.如果仍不满足需求,必须借助设计信息和文档来修改构件.

构件库中若无可修改使用的构件,则按新需求开发构件,并存入构件库.

当所有的构件都开发或修改完成之后,我们就可以把构件组装起来,完成我们的需求.

组装构件

检索于提取构件*--->理解于评价构件--->修改构件--->组装构件.

基于功能的组装技术

基于功能的组装技术采用子程序调用和参数传递的方式将构件组装起来.就是我们模块于模块之间的调用于组装.

基于数据的组装技术

面向对象的组装技术

而在组装过程中有可能会存在一些失配的问题,包括如下一些问题:

要解决失配问题,首先要检测出失配问题,并在此基础上通过适当的手段消除检测出的失配问题。

小结

构件的一些基本概念就大概这些,这些概念我们还是要结合实际情况去理解它,不然这么枯燥的知识海洋,当我们时刻都用蛮力去遨游时,总会有精疲力竭之时。 学无止境,加油!

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯