2010-11-02 23 views
0

设计资源关联的问题,我有以下建模问题:如何在Java中

作为练习,我需要的是分配单元(警车/消防车)发送到特定的紧急(火/劫系统模型/ ......)。因此,紧急情况需要说明它需要多少单位(例如2辆消防车和3辆救护车)。当然,这些单位需要分配给紧急情况。我已经将这个模型化为两个抽象类:紧急单元和具有继承这些类的实际单元和紧急情况的单元。

有没有一个优雅的设计,所以紧急情况可以通用的方式告诉它需要哪些单位(预计会有其他类型的单位和紧急情况)?

编程语言是Java。

我知道这可能是标准设计模式之一,但我对这些设计模式很陌生。

回答

1

您有很多选择。想到的一些模式是观察者,责任链和访问者。但是,很多非模式解决方案似乎也是合理的。不要一直催眠使用模式。

这就是说,模式的组合可能是最好的解决方案。创建一个更高层次的课程,某种类型的Director。允许导演使用Observer模式观察紧急情况。当主任收到工作请求时,它会转到Object Pool并根据需要修改紧急情况。

0

好的Java接口怎么样?

public interface HasEmergency { 
    public UnitType responderUnit(); 
    public int numberOfUnitsNeeded(); 
} 

public abstract class Resource implements HasEmergency { 
    // ... 
} 
+0

我不明白这是如何工作的,只有紧急情况才知道需要多少资源。例如,当火势很大时,需要3辆消防车,否则需要1辆。因此,只有紧急情况才能发布清单。需要一个可以将资源派往紧急情况的系统(如救火车/救护车/ ...)。但是我想把它变成通用的,所以我可以添加另一种类型的单位(例如军队单位)。 – 2010-11-02 16:30:47