系统架构23 - 软件架构设计(2)

构件

  • 概念
  • 模块
  • 构件
  • 服务
  • 构件技术

概念

在架构设计中,构件(Component)是指系统的重要部分,它们是功能上独立且可以被替代或扩展的模块或单元外界通过接口访问其提供的服务。

构件通常用来划分系统的不同功能或责任,以便更容易管理、维护和扩展整个系统。

它们是系统架构的基本构建块,可以包括软件模块、类、库、服务等。
例如:

一个电子商务网站的架构设计:
用户管理构件:这个构件负责处理用户身份验证、注册、登录和个人资料管理等功能。它可能包括用户数据库、身份验证服务用户界面组件等。
商品管理构件:这个构件处理商品列表、详情、购物车和支付等功能。它包括商品数据库、购物车逻辑、支付处理和商品页面组件等。
订单管理构件:这个构件负责订单的创建、查看、修改和支付等功能。它包括订单数据库、订单处理逻辑、订单页面组件等。
库存管理构件:这个构件负责跟踪商品库存的状态和更新。它包括库存数据库、库存更新服务等。

上例中,这些构件代表了系统中的不同功能区域,每个构件都可以独立开发、测试和维护
它们通过明确定义的接口和通信方式相互连接,以协同工作来实现整个电子商务网站的功能。
比如:用户管理构件可以与商品管理构件通信,以验证用户是否有权购买特定商品;订单管理构件可以与库存管理构件通信以检查商品的库存情况。
通过将系统划分为不同的构件,架构设计可以更容易地管理和扩展系统,同时降低了系统的复杂性。这种模块化的设计方法有助于提高系统的可维护性和可扩展性

  • 定义:类是面向对象编程中的基本概念,它描述了一种对象的属性和为。类定义了对象的结构和行为模板,它可以包括属性(数据成员)和方法(函数成员)。
  • 作用:类用于创建对象,对象是类的实例。通过定义类,可以封装数据和行为,实现代码的模块化和复用。类通常用于面向对象编程语言(如Java、Python)中。

模块

  • 定义:模块是一组相关的函数、类、变量或代码块的集合,用于将代码组织成更小的可管理单元。模块可以是一个单独的文件或一组相关文件。
  • 作用:模块用于划分代码,将相关功能或类放在一个地方,以便更好地组织和维护代码。它还可以支持代码的复用和封装

构件

  • 定义:构件是系统中的独立部分,它可以包括一个或多个模块、类或其他代码元素。构件通常具有清晰的接口和功能,可以独立开发、测试和部署
  • 作用:构件用于将系统分成更大的功能块,以便更好地管理和部署系统。它们可以具有高度的独立性和可重用性

服务

  • 定义:服务是一种独立运行的软件组件,它可以通过网络或其他通信方式提供特定的功能或服务。服务通常是分布式系统中的一部分,可以被其他部分远程调用。
  • 作用:服务用于实现系统的分布式和松耦合,不同部分可以通过调用服务来完成特定任务。它们通常用于构建面向服务的架构(SOA)或微服务架构

构件技术

构件技术就是利用某种编程手段,将一些人们所关心的,但又不便于让最终用户去直接操作的细节进行了封装,同时对各种业务逻辑规则进行了实现,用于处理用户的内部操作细节。目前,国际上常用的构件标准主要有三大流派。

  1. EJB(Enterprise Java Bean)规范由Sun公司制定,有三种类型的EJB:
    (1)会话Bean(Session Bean):用于管理会话和业务逻辑,有不同的类型适应不同的需求。
    (2)实体Bean(Entity Bean):用于与持久化数据交互,将对象映射到数据库表。
    (3)消息驱动Bean(Message-driven Bean):用于异步消息处理,响应来自消息队列的消息。
  2. COM、DCOM、COM+:COM是微软公司的。DCOM是COM的进一步扩展,具有位置独立性和语言无关性,COM+并不是COM的新版本,是COM的新发展或是更高层次的应用
  3. CORBA标准主要分为三个层次:对象请求代理、公共对象服务和公共设施
    (1)最底层是对象请求代理 ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的“软总线”;
    (2)在 ORB 之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;
    (3)最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。

你可能感兴趣的:(软考系统架构,系统架构,构件技术)