后台管理框架之四 :数据模型设计

本文讨论了后台管理框架中的数据模型设计,包括前台数据和后台数据的分类,多对多关系处理,以及使用空接口进行实体规范。提出了采用BaseFOPEntity、BaseBOPEntity、BaseROPEntity作为基础模型,并详细解释了IEntity接口的PrimaryKey和BaseObject抽象类的设计考虑,以适应EasyUi datagrid组件的分页和排序需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  当项目完成整体构建之后,接下来的工作就是对针对性的进行各方面的设计。整个项目的设计包括很多方面,比如数据持久化的设计、页面View处理的设计、业务逻辑的设计等。今天我们先来确定数据模型的设计。

  数据持久化部分包括两块,一块是数据操作部分,一块是数据模型部分。而核心的数据持久化部分,如SQL语句拼写、参数定义等,因为采用EF框架,很多工作都由它做了,不需要我们过多的考虑。今天我们先来确定据模型部分。

  任何一个项目需要处理的数据无外乎包括两类:

  1、前台数据:由用户通过前台View操作而产生或改动的数据,主要与业务相关,如用户数据、机构数据等。对于这类信息,我们一般会要求记录谁创建、谁最后修改、什么时候创建、什么时候最后修改等。可能还有一些扩展需求就是:某类数据禁止物理删除,如用户数据,很多业务数据与用户相关,一般不应做实际物理删除;数据需要进行共享,需要被其它业务系统进行抽取等;

  2、后台数据:系统自动记录的数据,如异常信息、驱动消息、用户轨迹等。对于这类信息,都是由系统自动记录,人为不参与,不会涉及到谁创建或谁修改等等问题。

  有一种数据比较特殊,就是解决多对多关系而扩展的关联表数据,如用户和角色的多对多关系,对这类表一般是直接定义双主键、双字段。这类关系确实因用户前台View操作而产生,但它仅存储关联关系,并不存储实际的业务数据,而且需要用两个主键来唯一确定一条对应关系。这类数据设计可自由裁量。

  另外,在数据模型设计时,一般为了方便都会进行一定的限定,确保这些实体都有一个统计的规范,所以采用空接口进行相应限定。即使是空接口的限定,对于泛型编程来说也是较为重要的,可以有效地限制非数据模型的泛型实体定义,减少出现不可知的问题。

  按照以上的思路,项目的数据模型会按以下结构进行设计:

  

  

  通过以上模型定义,基本可以将本项目中涉及的数据进行了定义,后续各个实体数据模型可根据实际情况分别从BaseFOPEntity、BaseBOPEntity、Bas

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值