Kev*_*vin 5 java model-view-controller design-patterns
我正在尝试设计机器人模拟器的GUI前端(实际上是一个简单的游戏).但是,我不知道将模拟器组件(例如机器人和墙壁)传递给显示器的最佳方法.我想要隐藏组件的非显示方向信息(例如机器人质量),但仍然能够识别每个组件的打印,即当我绘制组件时,我想以不同的方式绘制机器人我做墙壁(也许机器人会有一个名牌或其他东西).
这张照片有望解释设计:

也许有一种有用的设计模式,我还没有遇到过......
查看模型-视图-控制器设计模式。它将数据(机器人的速度、大小……)、表示(机器人的形状及其绘制方法)和行为(提高机器人速度)分开。
回答你的问题 - 隐藏类 API 部分的最简单方法是将此类拆分为多个部分(模型、视图、控制器)并根据某种模式(MVC 或模型视图演示器,它们有很多)连接它们其中)。
编辑:抱歉我没有提供任何示例。我的建议是将 Robot 分为两类:
然后 Simulator 包含 RobotUi 的集合(Simulator 是一个model)和 SimulatorDisplay (= view)在执行绘制方法时迭代 UI 对象。RobotData 将隐藏在 RobotUi 内部。
| 归档时间: |
|
| 查看次数: |
1383 次 |
| 最近记录: |