作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。
热门文章推荐:
- (1)《为什么很多人工作 3 年 却只有 1 年经验?》
- (2)《一文掌握大模型提示词技巧:从战略到战术巧》
- (3)《AI 时代,程序员的出路在何方?》
- (4)《如何写出高质量的文章:从战略到战术》
- (5)《我的技术学习方法论》
- (6)《我的性能方法论》
- (7)《AI 时代的学习方式: 和文档对话》
一、AI 讲解
面向对象设计是软件工程中一种常见的设计方法论,它通过将现实世界的问题抽象成对象来进行模拟。在面向对象设计中,类是一种将属性(数据)和方法(操作数据的函数)封装起来的结构。根据类在系统中扮演的角色和职责的不同,我们通常将类分为三大类:边界类、控制类和实体类。这种分类有助于在复杂系统中实现关注点分离,从而提高系统的可维护性和可扩展性。
类型 | 职责 | 例子 |
---|---|---|
边界类 | 作为系统与外部世界(如用户界面、外部系统)之间交互的接口 | 用户界面 |
控制类 | 负责实现系统的业务逻辑,处理数据流和控制应用程序的流程 | 订单管理、用户认证 |
实体类 | 表示系统中的业务数据及其相关操作,通常对应现实世界中的实体对象 | 用户、产品、订单等实体 |
二、AI 出题
2.1 选择题
-
下列哪一项最适合作为边界类?
A. 用户
B. 用户界面
C. 产品库存
D. 订单处理 -
控制类在系统中扮演的角色是什么?
A. 与外界通信
B. 处理业务逻辑
C. 存储数据
D. 提供接口服务 -
实体类通常用于表示什么?
A. 系统的业务逻辑
B. 系统与外部的交互
C. 系统中的业务数据及其操作
D. 系统的控制流程 -
下列关于边界类的描述,哪一项是错误的?
A. 边界类用于实现用户界面
B. 边界类用于存储业务数据
C. 边界类作为系统与外界的接口
D. 边界类可以是Web页面 -
在一个电商系统中,处理支付流程的类属于哪一类?
A. 边界类
B. 控制类
C. 实体类
D. 数据库类 -
用户类在面向对象设计中通常被归类为什么?
A. 边界类
B. 控制类
C. 实体类
D. 服务类 -
下列哪一项不是控制类的职责?
A. 处理数据流
B. 实现业务逻辑
C. 直接与用户交互
D. 控制应用程序的流程 -
实体类的主要职责是什么?
A. 实现用户界面
B. 作为系统与外部世界的接口
C. 表示业务数据及其相关操作
D. 处理系统的业务逻辑 -
在面向对象设计中,边界类的主要功能是什么?
A. 存储业务数据
B. 处理业务逻辑
C. 作为系统与外界的接口
D. 控制数据流 -
控制类在软件系统中的作用是什么?
A. 存储和管理数据
B. 实现业务逻辑和数据流控制
C. 提供用户界面
D. 直接与外部系统交互
2.2 答案和解析
-
B. 用户界面
- 边界类用于实现系统与外部世界的交互,如用户界面。
-
B. 处理业务逻辑
- 控制类负责处理系统中的业务逻辑和控制流程。
-
C. 系统中的业务数据及其操作
- 实体类表示系统中的业务数据及其操作,对应现实世界中的实体。
-
B. 边界类用于存储业务数据
- 错误描述,边界类的职责是作为系统与外界的接口,不负责存储业务数据。
-
B. 控制类
- 处理支付流程是一项业务逻辑,由控制类负责。
-
C. 实体类
- 用户类通常作为实体类,表示系统中的业务数据及其操作。
-
C. 直接与用户交互
- 控制类的职责不包括直接与用户交互,这是边界类的职责。
-
C. 表示业务数据及其相关操作
- 实体类的主要职责是表示业务数据及其操作。
-
C. 作为系统与外界的接口
- 边界类的主要功能是作为系统与外部世界(如用户或其他系统)的接口。
-
B. 实现业务逻辑和数据流控制
- 控制类的作用是实现系统的业务逻辑和控制数据流。