Struts2 如果有人在struts 2中的另一个类中创建action类的对象,会发生什么?

Struts2 如果有人在struts 2中的另一个类中创建action类的对象,会发生什么?,struts2,struts,Struts2,Struts,在我们的代码中,新的新手创建了action类的对象并使用了这些方法。 如果在整个系统中使用action类对象,系统将如何影响。S2 action类没有什么特别之处 把这个问题转过来:既然你(显然)不是一个“新手”,你认为当一个类被实例化时会发生什么?您认为S2如何处理请求?(提示:它实例化了一个action类,然后最终用于处理请求。)如果S2操作可以是POJO,那么实例化的类会如何影响系统的其余部分 这一切都表明: 从架构的角度来看,这是一个坏主意,因为跨类使用的逻辑应该正确地提取到服务/实用程

在我们的代码中,新的新手创建了action类的对象并使用了这些方法。
如果在整个系统中使用action类对象,系统将如何影响。

S2 action类没有什么特别之处

把这个问题转过来:既然你(显然)不是一个“新手”,你认为当一个类被实例化时会发生什么?您认为S2如何处理请求?(提示:它实例化了一个action类,然后最终用于处理请求。)如果S2操作可以是POJO,那么实例化的类会如何影响系统的其余部分

这一切都表明:

从架构的角度来看,这是一个坏主意,因为跨类使用的逻辑应该正确地提取到服务/实用程序/等类中,而不是与特定的操作绑定


从认知负载的角度来看,这也是令人困惑的:没有理由期望主线代码手动实例化一个操作——框架实例化操作的唯一目的是处理请求。

您能通过编辑您的问题提供更多细节吗?action类对象是如何使用的,其中可能会与我们共享一些代码。此外,对于OP:S2,它使用ThreadLocal模式创建其操作。这取决于类是如何传递的,如果在请求过程中操作被传递到方法中,这不会太糟糕,但是如果在请求之间保留对象,您可能会有(可能没有解释)并发问题。感谢Dave,我们实现了服务层,而不是创建对象。删除操作类对象。