jjzjj

java - 为什么有时我们将行为与 Java 中的类分开

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion这是一个非常基本的问题,但我是Java设计的新手,请原谅。:)我想知道在哪些场景下我们需要将类行为与类本身分离。例如如果我有一个Employee类,我将在其中包含一些数据,例如姓名、年龄等。此外,该类还将具有一些行为,例如doWork()等。现在在什么情况下我们可以在其中包含数据和行为一次仅类(Employee),在这种情况下,我们需要为员工数据(EmployeeDTO)和行为(Emplo

java - 在 Java 中模拟 DTO 的最佳方法是什么?

在编写单元测试时,我需要一些带有示例数据的对象。例如,假设我有一个Order对象。需要编写这样的代码-Ordero=newOrder();o.setId(3);o.setAmount(2830.9);Listitems=newArrayList();Itemi=newItem();i.setId(3);i.setCost(34);items.add(i);o.setItems(items);它比这里看起来更令人沮丧和冗余,因为一个真实的对象可能有更多的属性和嵌套对象。如果一个人需要多个订单......创建用于测试的模拟数据对象的最佳方法是什么?我突然想到要从Json中反序列化我的对象。

Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析

@[TOC]Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析前言前言做开发项目时,总会遇到这些包,理清他们的层次,非常有助于我们对于项目的理解和建立。现阶段CSDN上貌似没有很系统,很详细的关于层级类的解释。因此总结了一下自己的经验和思考,也算是小小的回馈一下一直帮助自己的CSDN。。工具类层Utilutil=工具顾明思义,util层就是存放工具类的地方,对于一些独立性很高的小功能,或重复性很高的代码片段,可以提取出来放到Util层中。数据层POJO对象POJO=plainordinaryJ

php - PHP 中的数据传输对象,许多具有相同上下文名称的类

嗯,我刚刚发现有这个DTO模式。我怀疑是否它们很有用。我的意思是,我是否应该将我所有的域对象映射到它们相应的DTO对象并将它们分配给View而不是域对象本身?那么,我会有很多具有相同上下文名称的类。喜欢:用户(域对象),用户DTO,UserMapper或UserPersistenceFactory,用户工厂,用户选择工厂,用户更新工厂,UserAssembler(用于DTO映射),用户集合,UserViewHelper(可能)等... 最佳答案 通常,DTO可以帮助您将数据库的数据问题与使用数据的对象的数据问题分开。您可以在DTO中

春季MVC-架构 - 我的服务是否应该返回DTO?

我知道这有很多意见,但对我来说仍然不清楚。让我们以一个例子问问,假设我有一个Customer实体和一个CustomerDTO.1)我应该save和get服务接受DTO并返回DTO?喜欢:CustomerDTOsaveNew(CustomerDTOdto);CustomerDTOget(Longid);2)我的服务应始终管理Customer对象和我的Controller进行转换,就像:CustomersaveNew(Customerc);Customerget(Longid);我认为第二次更加灵活,然后如果在另一个服务中我需要呼吁客户获得(用于将其设置为User,例如)我有Customer本身,

C# DAO转换为DTO工具类

思想DAO(DataAccessObject)数据访问对象,是我们在做结构化数据库访问的时候传输的对象,通过这个对象我们可以与数据库中的表建立映射关系DTO(DataTransferObject)是我们在与前端进行数据交换时传递的对象为什么需要设置这这两种对象呢?为了数据安全如果我们直接传递DAO的数据,我们可能回把数据库的底库都扒光,比如一个用户的数据,包括用户的Id、用户的账号、密码等,我们直接传递到前端,用户的密码有可能被抓包软件给获取到,之后用户账号就可能回被盗用,而为了杜绝这种情况,我们从后端就直接把数据给换掉除了DTO,甚至我们在某些后端与数据库进行某些数据交换的时候也会设置一个中

node.js - 为 MEAN 应用程序生成 Mongoose DTO

我是mongoose和Node的新手,我正在使用MEAN堆栈(MongoExpressJSAngularJSNode)构建应用程序。我过去使用asp.netWebAPI构建了很多API,但我找不到任何关于使用DTO或View模型的文档,以减少在我之间来回传输的JSON量服务器和我的前端。我的应用程序是关于用户在线填写的调查。每个答案然后被用户用来产生一个分数。我的模型:varUserSchema=newSchema({email:{type:String,trim:true,default:'',match:[/.+\@.+\..+/,'']},status:{type:String}

mysql - 如何将对象列表(DTO)作为单个 IN 参数传递给存储过程

我想在springjdbc中将Dto作为参数传递并调用存储过程。这样做有可能吗?我想在参数中使用dto调用存储过程而不是设置参数?因为我有大量参数。 最佳答案 目前,无法在MySQL存储过程和函数中传递(或返回)对象。但是,MySQL5.7具有JSON函数,您可以传递一个varchar参数并使用JSON_EXTRACT函数提取值。SeeMySQL5.7manual:FunctionsThatSearchJSONValues 关于mysql-如何将对象列表(DTO)作为单个IN参数传递给存

武装你的WEBAPI-OData与DTO

本文属于OData系列文章Intro前面写了很多有关OData使用的文章,很多读者会有疑问,直接将实体对象暴露给最终用户会不会有风险?$expand在默认配置的情况下,数据会不会有泄露风险?答案是肯定的,由于OData的特性,提供给我们便捷同时也会带来一些风险。很多地方推荐使用DTO模式来隔离实体类与最终用户使用到类的关系,从而解决以上两个问题,OData同样也适用。DTODTO代表DataTransferObject,是一种设计模式,用于在不同层之间传输数据。它通常用于将数据从一个应用程序的逻辑层传输到另一个应用程序的界面层或持久化层,以及在分布式系统中传输数据。DTO对象是纯数据对象,它包

VO和DTO有什么区别?

区别        在Java开发中,VO和DTO都是用于数据传输的对象,但它们的含义和用途有所不同。VO(ValueObject)通常是用于表示业务领域中的一个值对象,它是一个纯粹的数据对象,主要用于封装从业务层传递到UI层的数据,以便于UI层展示或者接收用户输入。VO通常不包含业务逻辑,也不会进行数据库操作或者其他复杂的计算,它只负责数据的传输和展示。VO的属性通常是只读的,不允许被修改。        DTO(DataTransferObject)通常是用于表示数据传输对象,它是一个包含数据的对象,主要用于不同层之间的数据传输,比如用于将数据从数据库层传递到业务层,或者从业务层传递到UI