Springboot项目中实体类的各种类型(一)
看项目代码过程中看到许多VO,DTO等,还有之前学过的POJO,domain等,对于这些类的各个用法还是不太懂,故整理如下
基本概念
POJO(Plain Old Java Object)是一个普通的Java对象,它没有任何特殊的规则或约定。实际上,任何Java对象都可以被认为是POJO
Domain Model通常是指模型化真实世界域对象的概念。在软件开发中,Domain Model是用于描述特定领域内的问题和解决方案的核心组件。
Data Transfer Object(DTO)是一种设计模式,用于将数据从一个地方转移到另一个地方,DTO通常用于在应用程序的不同部分之间传递数据,或者在网络上传输数据。
**Value Object(VO)**是一种设计模式,用于封装一组相关的值。VO通常用于将数据传递到视图层,以便进行显示或渲染。
Business Object(BO),是一种设计模式,即业务对象。一般用在业务层,当业务比较复杂时,用到比较多的业务对象时,可以用BO类组合封装所有的对象一并传递。一般是处理多个对象的工具类或者Service。
VO,BO,PO,DTO这样分层还是很有意义的。尤其在团队成员较多的情况下,结构更加一目了然,同时也能很大程度避免多端系统数据所需不一致时,有人修改属性影响其他页面。
但也没有必要完全教条主义,把这些全部用上,需要根据所开发的业务复杂度来取舍,如果业务逻辑本身不复杂,照搬全上反而让开发变得更加复杂。