欢迎来真孝善网,为您提供真孝善正能量书籍故事!

阿里巴巴java开发规约,阿里巴巴java编程手册

时间:03-20 民间故事 提交错误

常用的文件夹层次结构: pojo • vo(所有与前端交互的对象,包括接收和返回参数) • query(查询的过滤条件;前端传递参数,后端内部参数) •Entity(base 的对象)数据库表) • dtos(用于后端内部传输,例如将多个表字段合并为一个对象)

这样做的原因是:如果您不喜欢它,请跳过指定分层域模型: • DO(数据对象):该对象与数据库表结构一一对应。数据源对象通过DAO层向上发送。 • DTO(数据传输对象):数据传输对象。由服务或管理器传输的对象。 • BO(业务对象):业务对象。封装业务逻辑并可由服务层输出的对象。 • 查询:数据查询对象。每层接收来自更高层的查询请求。请注意,封装具有两个以上参数的查询是禁止使用Map类提交的。 • VO(视图对象):显示层对象。通常由网络发送到模板渲染引擎层的对象。

面对这张图,我们先从连接上一个和下一个的DTO(数据传输对象)开始。这种转移通常是指前端和后端之间的转移。 DTO 是相对特殊的对象。这有两种形式。存在:后端以控制器中定义的Java对象的形式存在。通常,后端不需要担心如何将JSON 转换为Java 对象。这是由一些成熟的框架完成的。比如Spring框架驻留在前端,它的存在形式一般是js中的对象(也可以简单理解为json),通过ajax请求的数据体。是用两层来描绘的,这里就有可能产生问题,现在微服务流行了,服务之间调用的传输对象可以称为DTO吗?我的理解是要看上下文,DTO本身的隐含意义就是它可以完整的代表一个业务模块的输出,如果服务相对独立,就可以称为DTO,如果服务不独立,那么它们可以称为DTO。每个服务都是独立的,不是一个完整的业务模块。反汇编只能是由于计算复杂性或性能问题。在这种情况下,您不能将其称为DTO。只能是BOVO(值对象)。值对象VO是用于显示的数据。不管它如何显示,无论是网页、客户端还是APP,只要是人类可见的,就称为VOVO。主要存在形式是JS对象(也可以简单理解为JSON)。 VO和DTO主要有两个区别,一是字段不同,VO会根据需要删除一些字段,二是值不同,VO显示值一个业务描述的简单例子DTO可能会看像这样:

{"Gender" : "Male", "Age" :35} 对于Business 1,我们只需要性别,不能直接显示男性,因为它是一个旧的聊天室。因此,业务1 的VO 是职位描述后的{ "gender" : "Kiko"}。对于业务2,仅需要年龄,而不需要具体年龄。因此,业务描述后的业务2的VO为{“年龄”:“30~39”}PO(永久)。对象)持久化对象PO比较容易理解简单来说,PO就是数据库中的一条记录PO的数据结构对应数据库中表的结构表中的记录就是一个PO对象通常,一个PO有除了get 和set 之外没有其他方法。对于PO 来说,这个数量是相对固定的,永远不会超过相当于一个实体的数据库表的数量。两个概念是一致的。

BO(业务对象) 业务对象BO 是PO 的组合。举个简单的例子,PO是一条交易记录,BO是一个人所有交易记录的集合。一个更复杂的示例是,PO1 是交易记录,PO2 是交易记录。对应登录记录,PO3对应产品查看记录,PO4对应添加购物车记录,PO5对应搜索记录,BO对应个人网站行为对象,BO对应业务对象,业务类型对应BO。数量没有限制,BO中可以有多种业务操作。这意味着除了get和set方法之外,BO还有很多计算自己数据的方法。为什么BO也跨两层绘制呢?原因是现在很多持久层框架都提供了数据绑定功能。因此,BO可能由业务在业务层组装,也可能由数据库访问层框架直接生成以跟踪许多查询。出于效率考虑,框架跳过PO 直接生成BO 的情况很常见,PO 只用于增删改查。

BO 和DTO 之间的区别。两者之间的主要区别在于字段删除。 BO是内部的,需要辅助数据进行业务计算,或者业务有多个外部接口。一个BO可能包含很多外部不需要的接口。因此,DTO必须基于BO。只要外部提供所需的数据,数据的内容通常就保持不变。内容变更是在BO内部业务计算或解释过程中完成的。完成VO就可以了,到这里,我们已经差不多搞清楚这些关系了。那么,什么是DO?标题里不是有DO吗?上面的概念基本涵盖了整个流程。不过,只讲了一个概念DO的含义是一样的,但是哪个概念是一样的呢?目前主要有两个版本,一个是DO(Data),另一个是DDD(Domain-Driven Design)域驱动中DO(Domain Object)的定义。在上面的BO 的最后,我们来谈谈现实世界的应用。这些概念非常完整。使用时需要遵循这个吗?当然不需要。系统具有不同的复杂性和不同的协作级别。没有必要教条主义。这些概念中哪些是你应该涵盖的,哪些是你应该省略的?我想提供一些实用的建议: 1. 你不能PO。实体始终需要2,无论它是否是PO。在一些工具系统以及一些业务不太复杂的系统中,可以将DTO与BO合并。如果您的业务扩大,请小心。 3. VO初期可以优化,但除非业务很复杂,否则根本无法使用。请直接使用DTO1。 DTO、VO、BO、PO、DO、POJO是什么? POJO的定义是不规则的、简单的对象,但在日常代码分层中,pojo又分为VO.BO、PO、DTO.马苏。在每一层使用POJO 可以使您的代码更具可读性和可维护性。虽然这个概念看似简单,但区分或理解却并不容易。本文将对此进行简要总结。

DTO(数据传输对象) 数据传输对象用于服务之间的调用。我个人对传输数据对象的理解是,DTO 可以存在于服务的不同层(接口、服务、数据库等)。 DTO用于服务之间的交互,VO(View Objects/Value Objects)表示在层对象前端显示的数据。当接口数据返回到前端时,必须翻译成VO的使用场景。业务层对象主要用在服务内部业务层对象主要用在服务内部在服务层服务中,DTO 转换为BO,业务处理后返回到前面B0(业务对象)。转换为DTO 返回给接口PO层(持久对象) 持久对象出现在数据库中的数据中,用于存储从数据库中提取的数据。数据操作使用场景。在数据库层,将检索到的数据库数据存储在PO中,转换为DTO,然后返回到服务层。 DO(Domain Object)领域实体对象DO目前主要有两个版本。 阿里巴巴开发手册中的定义是DO(Data Object),对应上面的PO。 DDD(Domain-Driven Design)领域驱动设计中,DO(Domain Object)对应上面的BO2。下面是领域模型的概述: 分层领域模型规范:DO(数据对象): 该对象与数据库表结构一一对应,数据通过DAO层向上发送。目的。 DTO(数据传输对象): 数据传输对象。由服务或管理器传输的对象。 BO(业务对象): 业务对象。封装服务层输出的业务逻辑的对象。 AO(ApplicationObject): 应用对象是介于Web层和服务层之间的抽象可重用对象模型,与显示层非常接近,重用程度较低。 VO(视图对象): 显示图层对象。通常是由网络发送到模板渲染引擎层的对象。 Query: 在数据查询对象中,各层接收来自上层的查询请求。请注意,封装具有两个以上参数的查询是禁止使用Map类提交的。最难理解的是BO。大致理解如下。对象BO 可以包含一个或多个其他对象。例如,简历包括有关您的教育、工作经历、社会关系等信息。您可以将教育经历映射到PO,将工作经历映射到PO,将社会关系映射到PO。要处理简历,请创建与简历对应的BO 对象。每个BO 包含这些PO。如果你这样对待你的业务逻辑,你就可以处理BO。 3. 控制器层示例代码该层常见的转换有: DTO 到VO。它将服务层传递过来的DTO转换为代表数据的VO并返回给前端。

public List getUsers(UserQuery userQuery); 服务层和管理层的常见转换有:DO 到BO、BO 到DTO

//数据处理通常的服务层接口返回DTO对象List getUsers(UserQuery userQuery);并使用服务中的UserBO将必要的逻辑对象封装到DAO层中。该层的常见变换有: DTO 是:转换为DO和数据库交互

List getUsers(UserQuery userQuery); 领域模型定义了DOBO 业务实体对应的实体表结构实体VO 视图实体和DTO 可以共享输入参数包 xxxParam 查询xxx Param xxx 保存Param xxx 编辑Param xxx 删除Param

【阿里巴巴java开发规约,阿里巴巴java编程手册】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活