栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Spring术语中,命令,表单,业务和实体对象之间的区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Spring术语中,命令,表单,业务和实体对象之间的区别?

1)从技术上讲,业务对象和业务实体(或您称为它们的“实体对象”)并不相同。

业务实体包含数据。而业务对象包含有关您的业务实体的逻辑(如何创建实体,如何更新实体等)。从技术上讲,业务对象是一种旧的J2EE模式,在当前代码中我还没有真正看到它,因此我无法赘述。有人会说业务对象对应于DAO,而有些人会说服务。有些开发人员只是说业务对象和实体是相同的,因为他们认为“对象”和“实体”具有相同的粒度,或者是因为他们的业务实体也包含逻辑,或者仅仅是因为他们不知道。我只喜欢谈论包含数据的对象的“(业务)实体”,并且我从不使用术语“业务对象”,因为它可以有不同的解释。

2)根据Spring MVC文档,命令对象是JavaBean,它将使用表单中的数据进行填充。另一方面,什么是表单对象,但是支持您表单的对象呢?

因此,是的,命令对象在语义上与表单对象相同。我喜欢术语“对象”,我发现它立即可以理解。

3)正如您所说,根据Spring MVC文档,该框架的一项功能是

可重用的业务代码,无需重复。 使用现有的业务对象作为命令或表单对象,而不是对其进行镜像 以扩展特定的框架基类。

所以是的,根据Spring,您可以-并且应该使用业务实体作为您的命令/表单对象。如果您不确信,这是一些原因:

  • 为了简单起见。天知道,我们的Java软件体系结构需要更多的简单性。一些公司使用太多层来做非常简单的事情。为此,在Spring,Java(请参见下文)和其他方面的带领下,人们采取了许多措施来应对这一问题。
  • 为了您自己,因为它使编程更简单,更轻松,更有趣
  • 因为Spring和Java(通过JSR)都这么说。确实:我们对表单对象有什么期望?表单支持和可能的一些验证。我们将如何进行验证?Spring MVC 3支持使用JSR-303 @Valid批注验证@Controller输入。我们将约束放在哪里验证?根据JSR-303,存储这些约束的最佳位置(@ NotNull,@ Length等)位于业务实体本身内。底线:最好将业务实体用作命令/表单对象。
  • 关注点分离仍然受到尊重。只是一个关注点(表单支持)不再是关注点!Spring MVC为您处理它。:-)您只需要担心您的业务实体。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/484057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号