首页 > 编程知识 正文

java客户端和服务端的区别,java游戏服务端

时间:2023-05-06 15:09:25 阅读:172665 作者:4579

复杂的软件系统都采用分层体系结构设计,分层后各层职责清晰,整体上降低了系统的耦合性,提高了健壮性。 常见的有表示层、业务层等。 Java服务端的开发也是如此。

作为刚进入Java服务端开发的萌新,开始练习开发简单的购物中心后端,但还没着手就接触了很多技术术语,先掌握了大致的语境框架再着手实践。

Java服务器端也采用了层次结构,由于每个层次对应的对象的作用不同,以及需要在层次和层次之间进行通信,所以具有不同的“概念”对象。

分层域模型

分层域模型约定:

do(dataobject ) :与数据库表结构一一对应,通过DAO层向上传输数据源对象。

数据传输对象(dto ) :数据传输对象、服务或Manager向外传输的对象。

业务对象(bo ) :业务对象,是封装从服务层输出的业务逻辑的对象。

ao(applicationobject ) :应用对象并在Web层和Service层之间抽象的复用对象模型与表示层极为接近,复用度不高。

VO(viewobject ) :显示层对象,通常是从Web传输到模板渲染引擎层的对象。

Pojo(plainordinaryJavaobject ):POJO是一个只有setter/getter/toString的简单类,如DO/DTO/BO/VO。

域模型命名约定:

数据对象: xxxDO,xxx是数据表名称。

数据传输地址: xxxDTO,xxx是与业务领域相关的名称。

展示对象: xxxVO、xxx一般为网页名称。

POJO是DO/DTO/BO/VO的总称,禁止命名为xxxPOJO。

PO和VO

要理解PO和VO,首先需要理解ORM。 对象关系映射(ORM )是将对象绑定到关系数据库,并用对象表示关系数据。 必须在Hibernate或MyBatis等框架中执行映射。 在操作过程中,为每个ORM Framework创建不同的映射文件。 通常以xml格式存储,并将表与Javabean的值对象一一对应。

以前插入的记录的格式如下。

建立连接

创建操作对象

执行sql

可以写如下。

加载地图配置

javabean值对象的set字段名称

save操作就可以了

这样做的最基本的好处是,如果关系发生变化,您只需直接修改映射配置文件,而不需要在源文件中包含任何修改语句(主要是sql语句)。

在O/R映射的世界中,po (永久对象)和VO (值对象)是两个基本概念。 PO和VO都由一组属性和属性的get和set方法构成,虽然结构上没有区别,但本质上完全不同。

PO通常支持数据模型(数据库),本身也有部分业务逻辑的处理。 可以将其视为映射到数据库中表的java对象。 最简单的PO对应于数据库中某个表的一条记录,多条记录可以使用PO的集合。 PO应该不包括对数据库的操作。

VO通常用于业务之间的数据传输,和PO一样只是包含数据。 但是,应该是抽象化的业务对象,可以对应表,也可以不对应表。 这取决于业务的需要。

不同点:

VO用new关键词制作,由GC回收。 o是在向数据库添加新数据时创建的,在从数据库中删除数据时删除。 另外,只能在一个数据库连接中生存,如果断开连接,则会将其丢弃。 PO对象必须实现序列化接口。

VO是一个值对象,确切地说是一个业务对象,其目标是在业务层生存,在业务逻辑中使用,为数据提供一个位置。 o有一个状态,每个属性表示当前状态。 这是物理数据的对象表示。 这样,就可以解除我们的程序和物理数据的结合,使对象数据和物理数据的转换变得简单。

VO的属性因现在的业务而异。 这意味着每个属性都与当前业务逻辑所需的数据的名称一一对应。 PO的属性与数据库表中的字段一一对应。

如果没有PO和VO的区分,数据库表结构中的所有字段都会列在前端,给后台安全带来很大的隐患,在网络传输过程中无法剥离冗余信息会增加用户的带宽成本。

DTO,DAO,BO,POJO

数据传输对象(dto )表示法层和服务层之间使用的数据传输对象。 主要用于远程呼叫等需要大量传输对象的地方。 例如,如果一个表有100个字段,则对应的PO有100个属性。 但是,界面显示了10个字段,客户端只需要通过web服务获取数据,不需要将整个PO对象传递给客户端,这时可以使用这10个属性的DTO将结果传递给客户端到达客户后,用这个对象来应对的话

界面显示,那此时它的身份就转为 VO。

**DAO(Data Access Object 数据访问对象)**是 sun 的一个标准 j2ee 设计模式,这个模式中有个接口就是 DAO,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和 PO 结合使用,DAO 中包含了各种数据库的操作方法。通过它的方法,结合 PO 对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合 VO,提供数据库的 CRUD 操作,应当注意 DAO 中应该只关心数据库的 CRUD 操作,而不应掺杂业务逻辑。

**BO(Business Object 业务对象)**封装业务逻辑的 java 对象,通过调用 DAO 方法,结合 PO,VO 进行业务操作。主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。比如一个简历,有教育经历、工作经历、社会关系等等。可以把教育经历对应一个 PO,工作经历对应一个 PO,社会关系对应一个 PO。建立一个对应简历的 BO 对象处理简历,每个 BO 包含这些 PO。这样处理业务逻辑时,我们就可以针对 BO 去处理。

**POJO(Plain Ordinary Java Object)**简单无规则 java 对象,纯的传统意义的 java 对象。就是说在一些 Object/Relation Mapping 工具中,能够做到维护数据库表记录的 persisent object 完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。就是最基本的 Java Bean,只有属性字段及 setter 和 getter 方法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。