我正在尝试设计一个应用程序,其中将有一个IAction
对象的Map。每个IAction
对象都有一个方法IAction IAction.processAction()
在其中执行其中包含的知识。这可以查询调用Web服务的数据库,等等。在每个IAction
控件执行之后,然后将其发送到下一个IAction
实例。
当应用程序启动时,它将包含一个Map
的Map,它将按照正确的执行顺序进行。 Integer
的Map
类型的键是执行执行的顺序。 IAction.processAction()
可以将控制跳转到地图中的最后一个IAction
或一起停止。
我可以在脑海中看到代码,并且已经写了几行代码来帮助我。我正在寻找一种可以轻松帮助此类处理的设计模式。我不确定Command模式是否适合这个角色。
我希望有人能告诉我他们觉得哪种模式适合或不适合。
最佳答案
听起来,Command模式在这里肯定具有一定的相关性。
但是,我认为您的做法是错误的。设计模式本质上是作为示例和配方,可指导您在设计产品的工作方式时沿着生产线引导您的想法。您正在做的是,将一个好的设计转换为“正式的”设计模式,这倒是倒退了。
除此之外,IAction
对象映射中的关键是什么?听起来(可能是链接的)列表对他们来说是一个自然得多的结构。
关于java - Java设计模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1589044/