软考高级架构师:软件工程-面向对象设计类的分类

2024-05-25 10:31:58 浏览数 (2)

面向对象设计(OOD)中,类可以根据其在系统中的角色和职责进行分类,常见的分类包括边界类(Boundary Class)、控制类(Control Class)和实体类(Entity Class)。

下面我将用通俗易懂的方式解释它们的区别:

1. 边界类(Boundary Class)

定义: 边界类负责系统与外部世界的交互,通常是用户界面、API接口或外部系统的通信接口。

举例: 想象一下你在网上购物时看到的网页。页面上的按钮、输入框、显示商品信息的区域等,都属于边界类。它们负责接收用户的输入(比如点击按钮、输入文本),并显示信息给用户。

特点:

  • 职责: 处理用户输入和显示输出。
  • 例子: 网页表单、图形用户界面(GUI)组件、RESTful API接口等。
2. 控制类(Control Class)

定义: 控制类负责处理系统的逻辑流程和业务规则,充当协调者,控制系统的运作。

举例: 继续网上购物的例子,当你点击“提交订单”按钮时,控制类负责处理订单提交的整个流程,比如验证用户信息、检查库存、处理支付等。

特点:

  • 职责: 管理操作流程和业务逻辑。
  • 例子: 订单处理控制器、用户登录控制器、支付控制器等。
3. 实体类(Entity Class)

定义: 实体类代表系统中的数据对象或业务对象,通常对应数据库中的表,是系统中需要长期保存的信息。

举例: 在网上购物的例子中,商品信息、用户信息、订单信息等都属于实体类。这些类包含了商品的名称、价格、库存数量,用户的姓名、地址、订单的详细内容等。

特点:

  • 职责: 存储和管理数据。
  • 例子: 商品类、用户类、订单类等。
归纳总结
  • 边界类负责输入和输出,与用户或外部系统交互。
  • 控制类负责逻辑控制,管理操作流程和业务规则。
  • 实体类负责数据存储,代表系统中的业务对象和数据。

通过这种分类,我们可以更加清晰地分离系统中的不同职责,使设计更加模块化和可维护。

在这里插入图片描述在这里插入图片描述

0 人点赞