.model、.domain、.bean、.entity、.vo分层之间的含义

常见SpringBoot或Java Web后端分层时有.model、.domain、.bean、.entity、.vo这几种命名方式,那么这几种命名方式有什么区别及含义呢?

含义:

.model

本意“模型”,实义一次操作的最小单位,原子单位,常用作数据校验。

.domain

本意“域”,“域”在数学意义上即位一组数值对应的所有取值结果。对于数据库而言,一张数据表内字段数量是固定不变的,那么该数据表所有对应的排列组合即为域。当然,还看到了有人是这样定义的:除包含本表基本属性外,还可以包含其它属性。有点绕人?请看示例:

public class Student{

    private int id;
    private String name;
    ...

    public boolean isQualified;
}

请注意isQualified该属性不是改数据表内的属性,是为了某业务逻辑处理而增添的。

.bean

本意即为bean,现在很少看见有人写纯正的bean了,大部分写的都是简化版的(@Data注解除外)。示例如下:

public class BusinessBean implements Serializable{
   
    private int id;
    private String name;

    // 无参构造器
    // 满参构造器
    // 各属性setter、getter方法

    @Override
    pbulic String toString(){
    // toString
    }

    @Override
    public boolean equals(){
    // equals
    }

}

凡是.model、.domain、.entity、.vo层内的类都是满足具备相应的setter、getter方法的。在不考虑严格定义的情况下也可以被称作Java Bean。

.entity

本意“实体”,即数据库中每张数据表与持久层所对应的实体类。这里以Spring Data JPA为例,假设存在一student表,那么该层所存类如下:

@Table
@Entity
public class Student{

    @Id
    private int studentId;

    @Column
    private String name;

    // And so on.

}

.vo

本意“视图对象”,即View Object。常用作由服务端返回给客户端或网页。

public class ResultVO<T> {

    //状态码,比如1000代表响应成功
    private int code;
 
    //响应信息,用来说明响应情况
    private String msg;
    
    //响应的具体数据
    private T data;

    public ResultVO(T data) {
        this(1000, "success", data);
    }

    public ResultVO(int code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
}
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在软件开发中,通常将数据和行为分离,实体(entity)则是将数据进行封装的对象。entity文件夹下的entity.voentity.view、entity.model则是用于实现实体对象的不同方面和功能。 - entity.voVO(Value Object)是一种简单的 Java 类,用于存储传输对象,通常包含一些基本的属性和 getter/setter 方法。entity.vo 是实体对象的值对象,用于存储实体对象的属性值。它通常是一个纯数据的对象,不包含任何业务逻辑。在使用实体对象之前,通常需要先将其转换为值对象,并将值对象传输到客户端或其他系统中。 - entity.view:view 是实体对象的视图,用于呈现实体对象的属性值。它通常包含一些界面元素,例如文本框、标签等,用于显示实体对象的属性值。在 MVC(Model-View-Controller)模式中,实体对象是模型(Model),而视图则是视图(View)。通过将实体对象与视图分离,可以使得实体对象更加灵活和可重用,同时也可以降低代码的耦合度。 - entity.modelmodel 是实体对象的模型,用于实现实体对象的业务逻辑。它通常包含一些方法,例如保存、删除、更新等,用于操作实体对象的属性值。在 MVC 模式中,实体对象是模型(Model),而模型则是模型(Model)。通过将实体对象与模型分离,可以使得实体对象更加灵活和可重用,同时也可以降低代码的耦合度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值