Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring控制器与服务设计_Spring_Service_Controller - Fatal编程技术网

Spring控制器与服务设计

Spring控制器与服务设计,spring,service,controller,Spring,Service,Controller,我在数据库中存储了不同类型的任务。我需要从DB获取任务,并在其相应的服务中运行每个任务(例如,AService处理ATask对象,BService处理BTask对象等)。还有一个TaskController类,用于协调任务的执行 哪种设计更好- 1.让控制器获取所有活动任务,并将每个任务发送到相应的服务 2.让每个服务获取并执行与其相关的所有任务(在这种情况下,控制器必须循环所有已定义的服务并激活它们)。我选择解决方案1。除了应该创建一个中介服务来处理您想要放入控制器的加载和调度任务之外 此外,

我在数据库中存储了不同类型的任务。我需要从DB获取任务,并在其相应的服务中运行每个任务(例如,AService处理ATask对象,BService处理BTask对象等)。还有一个TaskController类,用于协调任务的执行

哪种设计更好-

1.让控制器获取所有活动任务,并将每个任务发送到相应的服务


2.让每个服务获取并执行与其相关的所有任务(在这种情况下,控制器必须循环所有已定义的服务并激活它们)。

我选择解决方案1。除了应该创建一个中介服务来处理您想要放入控制器的加载和调度任务之外

此外,我还闻到巨大的
开关
如果
s的级联,可能带有
instanceof
。我想你可以从中受益-询问first service是否能够处理此任务。如果它不能传递到第二个,依此类推


另一种方法是,如果每个任务都是公共类的一个单独的子类,则为a。

我有意将分派部分排除在这个问题之外,我认为这是一个不同的问题(在任何情况下,我都不会使用开关/ifs)。