uml - 对于类图,让一个 A 类存储一个 B 类的 ArrayList 并由 C 类修改是否符合约定?
问题描述
简化的场景是您有可以进行预订的客户,并且您有可以与这些预订进行交互的经理。除了“客户”和“经理”类之外,还有一个代表每个预订的“预订”类。
是否有一个类“Bookings”专门用于存储“Booking”的所有对象的 ArrayList 并具有任何“经理”能够与这些“Booking”对象交互的操作(例如添加、删除、修改和列出)使用?
在约定方面,我不确定 Manager 类如何适应场景。同样未显示的是,Manager 是作为完整场景的一部分的“Staff”类的子级(此处未描述)。
解决方案
是否有一个类“Bookings”专门用于存储“Booking”的所有对象的 ArrayList 并具有任何“经理”能够与这些“Booking”对象交互的操作(例如添加、删除、修改和列出)使用?
可见Bookings只是 Bookings 的一个集合,你不需要一个特定的类,集合本身就存在
对于类图,是否符合约定让类 A 存储类 B 的 ArrayList 可由类 C 修改
如果没有Bookings类,我们就没有 A、B 和 C,无论如何要在 UML 的上下文中回答这个问题,没有什么反对,也不鼓励这一点。我可以独立于 UML 说,而集合由 A 拥有,C 可以修改它的事实可能是危险的,而无需警告 A 或要求 A 自己做
我不确定 Manager 类如何适应场景
Manager可以是拥有Booking集合的类
推荐阅读
- javascript - 如何使用扩展运算符取消现有数组的新值?
- php - 当表名是变量时,mysqli_fetch_all() 不起作用
- ruby-on-rails - 如何修复“未定义的方法‘空’?对于...:浮动“
- c++ - 重构现有的包装器类以使用包装器本身的相同构造函数参数包装 T
- php - 使用 PHP 从锚标签中获取 id
- javascript - 为什么 mat-error 在 MatDialog 上工作,但在普通页面上却不行?
- javascript - 重命名或重用外部类型
- oracle - 从 oracle 数据库服务器中提取表名
- javascript - 移动背景似乎不起作用
- pandas - 如何加快将数据帧导出到 MS SQL Server?R 快两倍