可以在这里使用哪些最佳设计模式来解决下面提到的业务需求?
假设我们有一个业务需求来创建一个单一的仪表板,该仪表板可以轻松地用于不同的车辆,例如汽车、船和飞机,只需最少的更改,因此我们需要一个可以轻松定制的集中式界面,以便与底层系统(例如收集关于速度、电池、深度、高度、热量和功能的信息,如转弯、加速、启动、停止、刹车等)。仪表板应该带有仪表等,它们与再次与底层硬件对话的东西对话
显而易见的解决方案是将问题分解为组件(见下文),以便在切换车辆时只需进行最少的更改。在下面的解决方案中,只有 CentralController 的具体实现需要在每辆车上有所不同,但是如果您在汽车中有数百个要与之通信的组件,然后将所有这些类型映射到我们的应用程序相关类型,例如 HeatInfo 使用的HeatGauge 可能包含来自内部、外部和发动机的信息,因此我们正在讨论车辆中的不同组件,并且可能因车辆而异,在这里解决数据映射的最佳实践是什么?
- 带仪表的面板
- 中央控制器{获取/设置}。CentralControllerImpl
- 车辆及其部件
所以归结为:
在多个复杂 API 之上创建简化 API 的设计模式是什么
由于你们中的一些人认为这个问题很模糊,我将在这里发布真正的问题
我开发了一个应用程序,该应用程序可以与控制数百种传感器和控件的非常复杂的硬件和平进行对话,我正在开发的应用程序仅公开了一些与负责该部分的某些人员角色相关的功能。
您应该看到硬件是一个非常复杂且您操作的大型信息数据库,而我正在处理的应用程序只公开了一点信息,但是这些信息可能需要读取数百个表并将所有这些信息编译到我的视图中相关域对象,实际执行映射的组件已被通用化,以便未来的应用程序可以利用它。
我想从你们那里知道什么是最好的设计模式,可以用来创建易于使用和扩展的通用组件(如果需要)?
eg Visitor + MVC 是最明显的