首页 > 其他分享 >系统架构设计之构件组装

系统架构设计之构件组装

时间:2024-10-09 09:48:09浏览次数:8  
标签:架构设计 调用 一个 组装 接口 兼容 构件

      构件组装是指构件相互直接集成或是用专门编写的“胶水代码”将它们整合在一起来创造一个系统或另一个构件的过程。
常见的组装构件有以下3种组装方式。


1.顺序组装 


        通过按顺序调用已经存在的构件,可以用两个已经存在的构件来创造一个新的构件。顺序组装的类型可能适用于作为程序元素的构件或是作为服务的构件。需要特定的胶水代码,来保证两个构件的组装:上一个构件的输出,与下一个构件的输入相兼容。


2.层次组装


       这种情况发生在一个构件直接调用由另一个构件所提供的服务时。被调用的构件为调用的构件提供所需的服务。因此,被调用构件的“提供”接口必须和调用构件的“请求”接口兼容。如果接口相匹配,则调用构件可以直接调用被调用构件,否则就需要编写专门的胶水代码来实现转换。


3.叠加组装


        这种情况发生在两个或两个以上构件放在一起来创建一个新构件的时候。这个新构件合并了原构件的功能,从而对外提供了新的接口。外部应用可以通过新接口来调用原有构件的接口,而原有构件不互相依赖,也不互相调用。这种组装类型适合于构件是程序单元或者构件是服务的情况。
当创建一个系统时,可能会用到所有的构件组装方式,对所有情况都必须编写胶水代码来连接构件。而当编写构件尤其是为了组装来写构件时,经常可能会面临接口不兼容的问题,即所要组装的构件的接口不一致。一般会出现3种不兼容情况。
(1)参数不兼容。接口每一侧的操作有相同的名字,但参数类型或参数个数不相同。
(2)操作不兼容。提供接口和请求接口的操作名不同。
(3)操作不完备。一个构件的提供接口是另一个构件请求接口的一个子集,或者相反。
针对上述不兼容情况,必须通过编写适配器构件来解决不兼容的问题,适配器构件使两个可复用构件的接口相一致;适配器构件将一个接口转换为另外一个接口。
当用户选择组装方式时,必须考虑系统所需要的功能性需求、非功能性需求,以及当系统发生改变时,一个构件能被另一个构件替代的难易程度。

标签:架构设计,调用,一个,组装,接口,兼容,构件
From: https://blog.csdn.net/xiaoaque/article/details/142778758

相关文章

  • 高效开发Maven架构设计图解/掌握项目工程自动化技巧(精通篇三)
    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的项目。它使用一个名为POM(ProjectObjectModel)的XML文件来描述项目的构建过程、依赖、插件等信息。肖哥弹架构跟大家“弹弹”高并发锁,关注公号回复‘mvcc’获得手写数据库事务代码欢迎点赞,关注,评论。关......
  • 高效开发Maven架构设计图解/掌握项目工程自动化技巧(精通篇三)
    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的项目。它使用一个名为POM(ProjectObjectModel)的XML文件来描述项目的构建过程、依赖、插件等信息。肖哥弹架构 跟大家“弹弹” 高并发锁,  关注公号回复'mvcc'获得手写数据库事务代码欢迎点赞,关注,评论。关注......
  • 飘香水果购物网站:基于SpringBoot的架构设计
    2相关技术2.1MYSQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或者其他......
  • 高效开发Maven架构设计图解/掌握项目工程自动化技巧(精通篇二)
    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的项目。它使用一个名为POM(ProjectObjectModel)的XML文件来描述项目的构建过程、依赖、插件等信息。肖哥弹架构 跟大家“弹弹” 高并发锁,  关注公号回复'mvcc'获得手写数据库事务代码欢迎点赞,关注,评论。关注......
  • AssemblyQC:一个基因组组装质量评估的综合流程
    分享一篇近期发表在Bioinformatics上的文章:AssemblyQC:ANextflowpipelineforreproduciblereportingofassemblyquality,这是一个基因组组装质量评估的综合性流程,集合了准确性、连续性和完整性等多项指标(这是小编一直想做的事情,现有轮子,分享给你)。该流程基于nf(nextflo......
  • 全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker都能确保......
  • 全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker都能确......
  • 高效开发Maven架构设计图解/掌握项目工程自动化技巧(精通篇一)
    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的项目。它使用一个名为POM(ProjectObjectModel)的XML文件来描述项目的构建过程、依赖、插件等信息。肖哥弹架构跟大家“弹弹”高并发锁,关注公号回复'mvcc'获得手写数据库事务代码欢迎点赞,关注,评论。关注公号S......
  • 全面图解Docker架构设计:掌握Docker全链路思维/实战/优化(小白到大师篇[2])
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker......
  • 系统架构设计师论文《论SOA在企业集成架构设计中的应用》精选试读
    论文真题企业应用集成(EnterpriseApplicationIntegration,EAI)是每个企业都必须要面对的实际问题。面向服务的企业应用集成是一种基于面向服务体系结构(Service-OrientedArchitecture,SOA)的新型企业应用集成技术,强调将企业和组织内部的资源和业务功能暴露为服务,实现资......