关于后端 Entity Model Domain 的分界线
前言:在我们开发中经常用一种类型的值来接收来自Dao层的数据并将它传送给前端,或者作为逻辑处理,一般这种类型有三种 Entity Model Domain 我们该如何准确的应用这三种类型呢?这三种类型又有什么不同呢?
这里概要解释一下这三者 希望能够帮助到大家进行理解和使用:
Entity:
就是实体的意思,所以也是最常用到的,entity包中的类是必须和数据库相对应的,当用model当包名的时候,一般里面存的是实体类的模型,一般是用来给前端用的,如果把entity全部传给前台,无疑传了很多没用的数据。这时候model就很好的解决了这个问题。
Model:是一次操作所用数据的最小单位 前台需要什么数据,model就包含什么数据就行了
Domain:
domain这个词大家可能用的比较少,这个包国外很多项目经常用到,字面意思是域的意思。范围有点广了, 比如一个商城的项目,商城主要的模块就是用户,订单,商品三大模块,那么这三块数据就可以叫做三个域, domain包里就是存的就是这些数据,表面上这个包和entity和model包里存的数据没什么区别, 其实差别还是挺大的,特别是一些大型的项目。比如一个招聘网站的项目,最重要的对象就是简历了, 那么简历是怎么存到数据库的呢,不可能用一张表就能存的,因为简历包含基本信息和工作经验,项目经验, 学习经验等。基本信息可以存在简历表,但是涉及到多条的就不行,因为没人知道有多少条工作经验, 项目经验,所以必须要单独建工作经验表和项目经验表关联到简历基本信息表。 但是前台页面是不关心这些的,前台需要的数据就是一个简历所有信息,这时就可以用到domain来处理, domain里面的类就是一个简历对象,包含了简历基本信息以及list的工作经验,项目经验等。 这样前端只需要获取一个对象就行了,不需要同时即要获取基本信息,还要从基本信息里面获取工作经验 关联的简历编号,然后再去获取对应的工作经验了。
那么三句话总结下entity、model、domain的不同:
1.entity字段必须和数据库字段一样
2.前端需要什么我们就给什么 (model)
3.domain很少用,代表一个对象模块
关于后端 Entity Model Domain 的分界线的更多相关文章
- 关于Bean\Entity\Model\POJO的一些个人理解
本文没有长篇累牍的,严格的,标准的表述,只是我在开发过程中,读书过程中的一些个人理解,可能不太准备,但是我觉得应该是最方便初学者理解的吧? 一.Bean 对于Bean而言,我的理解是只要是Java的类 ...
- Bean\Entity\Model\POJO\Dto\EJB简单解析
一.Bean 对于Bean而言,只要是Java的类的就可以称为一个Bean, 更用在Spring上,被Spring管理的对象就可以将其称作为Bean. 它不仅仅可以包括对象的属性以及get,set方法 ...
- Metadata file not found - Data.Entity.Model
错误 3 正在编译转换: 未能找到元数据文件“F:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\..\IDE\Micr ...
- MVC的前端和后端的Model Binding
1.前端提交JSON 字符串 {"id":13,"title":"这里是标题33","day":"2018-8 ...
- .Net Core 从MySql数据库生成实体类 Entity Model
1.首先建测试库 2.新建一个.Net Core 项目 3. cd到项目里面执行命令: dotnet add package MySql.Data.EntityFrameworkCore 4.继续执行 ...
- ORM Entities vs. Domain Entities under Entity Framework 6.0
I stumbled upon the following two articles First and Second in which the author states in summary th ...
- 创建实体数据模型【Create Entity Data Model】(EF基础系列5)
现在我要来为上面一节末尾给出的数据库(SchoolDB)创建实体数据模型: SchoolDB数据库的脚本我已经写好了,如下: USE master GO IF EXISTS(SELECT * FROM ...
- Create Entity Data Model
http://www.entityframeworktutorial.net/EntityFramework5/create-dbcontext-in-entity-framework5.aspx 官 ...
- [计算机基础]关于实体( Entity )和模型( Model )
实体与模型的浅析 在日常开发过程中经常看到Entity,Model,DataModel,它们之间到底有什么异同?下面是我个人的一些理解. 一.Entity,Model,它们是什么? 维基百科描述: 实 ...
随机推荐
- C#/VB.NET 将彩色PDF转为灰度PDF
本文以C#代码为例介绍如何实现将彩色PDF文件转为灰度(黑白)的PDF文件,即 将PDF文档里面的彩色图片或者文字等通过调用PdfGrayConverter.ToGrayPdf()方法转为文档页面为灰 ...
- JdbcTemplate 、Mybatis、ORM 、Druid 、HikariCP 、Hibernate是什么?它们有什么关系?
JdbcTemplate .Mybatis.ORM .Druid .HikariCP .Hibernate是什么?它们有什么关系? 学完Spring和SpringMVC之后,就急于求成的开始学习起Sp ...
- NOI2021 去不了记
没错,由于某些 zszz 的原因,我是真的去不了了(指去不了 ZJ) Day -11 ~ -7 - 2021.7.12 - 2021.7.16 令人自闭的 ISIJ 终于结束了----From ycx ...
- Codeforces 961F - k-substrings(二分+哈希)
Codeforces 题面传送门 & 洛谷题面传送门 介绍一种奇怪的 \(\Theta(n\log n)\) 的奇怪做法. 注意到这个"border 的长度必须是奇数"的条 ...
- HDU 6987 - Cycle Binary(找性质+杜教筛)
题面传送门 首先 mol 一发现场 AC 的 csy 神仙 为什么这题现场这么多人过啊啊啊啊啊啊 继续搬运官方题解( 首先对于题目中的 \(k,P\),我们有若存在字符串 \(k,P,P'\) 满 ...
- DirectX12 3D 游戏开发与实战第十章内容(下)
仅供个人学习使用,请勿转载.谢谢! 10.混合 本章将研究混合技术,混合技术可以让我们将当前需要光栅化的像素(也称为源像素)和之前已经光栅化到后台缓冲区的像素(也称为目标像素)进行融合.因此,该技术可 ...
- 通过mac地址确认二层交换机某个端口下接的终端设备IP
正常来说,二层交换机主要是通过mac地址进行通信的,这就导致我们无法直接通过arp表来确认交换机端口下终端设备的IP: 但我们仍然能通过查找二层交换机端口下学习到的mac地址,然后通过对照三层核心交换 ...
- 15.Pow(x, n)
Pow(x, n) Total Accepted: 88351 Total Submissions: 317095 Difficulty: Medium Implement pow(x, n). 思路 ...
- 日常Java测试第一段 2021/11/12
课堂测试一 package word_show;import java.io.BufferedReader;import java.io.FileNotFoundException;import ja ...
- 日常Java 2021/10/10
多态就是同一个行为具有多个不同表现形式的能力 多态就是同一个接口,使用不同的实例而执行不同操作 多态的优点 1.消除类型之间的耦合关系 2.可替换性 3.可扩充性 4.接口性 5.灵活性 6.简化性 ...