什么是实体类?
实体类
实体类是概念性的数据密集类-他们的主要目的是存储数据并提供对这些数据的访问。 在很多情况下,实体类是持久的,这意味着数据是长久存在的,并需要存储于文件或者数据库中。
面向对象的静态建模和频繁用于逻辑数据库设计的实体关系建模的主要不同是,尽管两种方法都对类、类属性、类间关系建模, 但面向对象的静态建模还允许规定类的操作。
以上摘取于《软件建模与设计 UML用例模式和软件体系结构》[p.80]。
主要由标识定义的对象被称作Entity。Entity(实体)有特殊的建模和设计思路。 他们具有生命周期,这期间他们的形式和内容可能发生根本改变,但必须保持一种内在的连续性。 为了有效地跟踪这些对象,必须定义他们的标识。 他们的类定义、职责、属性和关联必须由其标识来决定,而不依赖于其所具有的属性。
以上摘取于《领域驱动设计 软件核心复杂性应对之道》[p.58]。
这两片摘取都在说明什么是实体类,数据密集型、持久化、具有生命周期、标识定义。 但是都没有将实体的本质讲透彻,尤其是第二篇,好像加了个标识就是实体了。
实体类是面向对象的静态建模。但是实体本身又是一个概念,所以我们需要先搞懂什么是实体。
实体概念
具有具体而真实的形态或结构的事物,能够为人们所感知与亲手接触。 从数据处理的角度看,现实世界中的客观事物称为实体,它是现实世界中任何可区分、可识别的事物。 实体可以指人,如教师、学生等,也可以指物,如书、仓库等。 它不仅可以指能触及的客观对象,还可以指抽象的事件,如演出、足球赛等。 它还可以指事物与事物之间的的联系,如学生选课、客