说我已经完成了一个非常密集的编程任务big task
,它可以分解为更小的明确定义的子任务:
big task
small task 1
tiny task 1
tiny task 2
...
small task 2
...
...
每个子任务从父任务获取数据,运行相关计算,然后将结果返回给父项,依此类推,直到big task
完成。
我还在了解模块/中介/外观模式,但据我所知,架构看起来像这样:
父任务将发布指令(哪些子任务会听到),子任务将在完成时公布其结果(父级任务会听到)。
我的理解是否正确? Addy Osmani的解释非常有用,但他并没有过多谈论用于复杂计算系列的模块。也许这种类型的项目有更好的设计模式?感谢。
答案 0 :(得分:0)
你确定你真的需要在这里使用这么多的设计模式吗?
如果你只有一系列嵌套的孤立任务,为什么不像matryoshka doll那样构建它们呢?
您可能有一个抽象的Task类,它允许自己拥有子级。也没有孩子。此类可能还有calc()函数,如果需要,它会启动子进行计算,组合结果并将某些值返回给父级。您将不得不将一些逻辑抽象为Task,但这样的方案将允许您降低复杂性。
然后,您将拥有Task的特定后代来执行不同类型的计算。您可以将这些任务的配置存储在JSON或XML文件中。
使用各种图案看起来非常漂亮和凉爽,但如果根本不需要它们的使用......
我错过了什么吗?