软考高级:类的分类(边界类、控制类、实体类)概念和例题

2024-05-24 16:57:11 浏览数 (1)

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。

一、AI 讲解

面向对象设计是软件工程中一种常见的设计方法论,它通过将现实世界的问题抽象成对象来进行模拟。在面向对象设计中,类是一种将属性(数据)和方法(操作数据的函数)封装起来的结构。根据类在系统中扮演的角色和职责的不同,我们通常将类分为三大类:边界类、控制类和实体类。这种分类有助于在复杂系统中实现关注点分离,从而提高系统的可维护性和可扩展性。

类型

职责

例子

边界类

作为系统与外部世界(如用户界面、外部系统)之间交互的接口

用户界面

控制类

负责实现系统的业务逻辑,处理数据流和控制应用程序的流程

订单管理、用户认证

实体类

表示系统中的业务数据及其相关操作,通常对应现实世界中的实体对象

用户、产品、订单等实体

二、AI 出题

2.1 选择题

  1. 下列哪一项最适合作为边界类? A. 用户 B. 用户界面 C. 产品库存 D. 订单处理
  2. 控制类在系统中扮演的角色是什么? A. 与外界通信 B. 处理业务逻辑 C. 存储数据 D. 提供接口服务
  3. 实体类通常用于表示什么? A. 系统的业务逻辑 B. 系统与外部的交互 C. 系统中的业务数据及其操作 D. 系统的控制流程
  4. 下列关于边界类的描述,哪一项是错误的? A. 边界类用于实现用户界面 B. 边界类用于存储业务数据 C. 边界类作为系统与外界的接口 D. 边界类可以是Web页面
  5. 在一个电商系统中,处理支付流程的类属于哪一类? A. 边界类 B. 控制类 C. 实体类 D. 数据库类
  6. 用户类在面向对象设计中通常被归类为什么? A. 边界类 B. 控制类 C. 实体类 D. 服务类
  7. 下列哪一项不是控制类的职责? A. 处理数据流 B. 实现业务逻辑 C. 直接与用户交互 D. 控制应用程序的流程
  8. 实体类的主要职责是什么? A. 实现用户界面 B. 作为系统与外部世界的接口 C. 表示业务数据及其相关操作 D. 处理系统的业务逻辑
  9. 在面向对象设计中,边界类的主要功能是什么? A. 存储业务数据 B. 处理业务逻辑 C. 作为系统与外界的接口 D. 控制数据流
  10. 控制类在软件系统中的作用是什么? A. 存储和管理数据 B. 实现业务逻辑和数据流控制 C. 提供用户界面 D. 直接与外部系统交互

2.2 答案和解析

  1. B. 用户界面
    • 边界类用于实现系统与外部世界的交互,如用户界面。
  2. B. 处理业务逻辑
    • 控制类负责处理系统中的业务逻辑和控制流程。
  3. C. 系统中的业务数据及其操作
    • 实体类表示系统中的业务数据及其操作,对应现实世界中的实体。
  4. B. 边界类用于存储业务数据
    • 错误描述,边界类的职责是作为系统与外界的接口,不负责存储业务数据。
  5. B. 控制类
    • 处理支付流程是一项业务逻辑,由控制类负责。
  6. C. 实体类
    • 用户类通常作为实体类,表示系统中的业务数据及其操作。
  7. C. 直接与用户交互
    • 控制类的职责不包括直接与用户交互,这是边界类的职责。
  8. C. 表示业务数据及其相关操作
    • 实体类的主要职责是表示业务数据及其操作。
  9. C. 作为系统与外界的接口
    • 边界类的主要功能是作为系统与外部世界(如用户或其他系统)的接口。
  10. B. 实现业务逻辑和数据流控制
    • 控制类的作用是实现系统的业务逻辑和控制数据流。

0 人点赞