Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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模型类中的java静态工厂方法_Java_Spring_Static Factory - Fatal编程技术网

Spring模型类中的java静态工厂方法

Spring模型类中的java静态工厂方法,java,spring,static-factory,Java,Spring,Static Factory,在Spring模型类中使用java静态工厂方法验证带有某种等式的字段是否合适?我建议通过以下原因避免这种情况: 您失去了模型和模型验证逻辑之间的关注点分离。尤其是当验证只涉及几个字段时。同时添加/修改字段和修改验证逻辑不应导致代码更改冲突 您使测试变得更加困难(静态变量对于测试是有害的) 你违反了“控制反转”原则。当您需要以一种灵活的方式替换验证实现时,您会遇到困难 您可能要做的是添加到模型中。 此验证将由实现某些规范的Springbean执行。 通过这种方式,您不存在上述问题,但仍然可以在模型

在Spring模型类中使用java静态工厂方法验证带有某种等式的字段是否合适?我建议通过以下原因避免这种情况:

  • 您失去了模型和模型验证逻辑之间的关注点分离。尤其是当验证只涉及几个字段时。同时添加/修改字段和修改验证逻辑不应导致代码更改冲突
  • 您使测试变得更加困难(静态变量对于测试是有害的)
  • 你违反了“控制反转”原则。当您需要以一种灵活的方式替换验证实现时,您会遇到困难
  • 您可能要做的是添加到模型中。 此验证将由实现某些规范的Springbean执行。
    通过这种方式,您不存在上述问题,但仍然可以在模型类上保留验证规则(没有实现详细信息)。

    我的意思是,这是否是良好做法请提供您尝试过的代码示例。实际上,我还没有在模式类中尝试过,我只想知道这是否是良好做法,我的需要是,在将对象保存到数据库之前,我想验证字段是否满足我的等式。考虑到我有一个名为AA的模态类,字段是a、B、C。如果它是有效的C=a+B,我实际上需要这样的验证。在保存到DB之前,需要满足此条件