解剖实体框架(1)--实体与操作类

Conda虚拟环境用conda和pip安装软件包的路径问题 解决在虚拟环境中用pip默认把软件包安装到全局site-packages中。 阅读详情

1、什么是实体?

在我们进行系统构造的目标业务领域里,有一些对象,主要依赖外界进行管理或者处理,这些对象主要处在被加工或者处理的地位,这样的对象我们称之为实体对象,而这类对象以数据为住,一般只具有属性(或者叫域),不包含或只包含少量的内生方法(主要是一些自我处理的方法,这些方法不会操作其它对象,不产生对其它外界对象的依赖,比如克隆,格式化等)。直白的讲,实体就是数据性对象,结构体和类都可以用来描述它。实体类是允许嵌套的,即实体类的属性也可以是另外的实体类型(本身也可)。与实体类相对应的就是操作类(业务类,数据处理类等)。

2、实体操作类

      这里的操作类主要是指针对实体进行操作的类,这些操作类除了包含一些必要的用来指导操作方法的属性外,一般都不包含数据性属性。操作类包含的方法一般都是针对实体或者实体集合的。通常情况下,操作单个实体和操作实体集合的类会分开。操作单个实体的,比如格式显示,反射赋值,反射取值;而针对实体集合的则主要是新增,修改,读取,删除,查询,筛选,计数,统计等操作。实体操作类和业务处理类的区别就是实体操作类只针对实体类本身,不带业务逻辑色彩。从数据库的角度看,实体操作类就相当于数据库的sql.

3、实体为何要与操作分离

      实体代表数据,操作代表处理数据的方法,这种将实体和实体操作分离是面向对象编程下一个比较明智的改变,一方面因为面向对象只是分析和设计的一个视角,并不代表世界的全部,传统的那种将数据和方法分离的模式(面向过程)还是有其优势的,特别是在大规模数据处理方面。其二,实体类与实体的操作方法,特别是外界施加给实体的方法,从逻辑上来讲也很难理解。我一直觉得,面向过程和面向对象并不是对立的,它们之间是对立和统一的,面向对象侧重于整体和全局性,面向过程则注重局部与实现。

   实体类和操作的分离的好处:

    1)便于存储、运输、共享和交换

        一般情况下实体都是很简单的东西,因为不带有方法,而只有数据,因此便于存储,运输,共享和交互。有利于以XML格式进行处理。

   2)便于操作复用

         如果实体遵循一定的规则(大多时候用元属性来描述),很多对实体的处理操作都可以通用方法。比如实体的增加,删除,修改,查询等。

   3)便于与文件系统和数据库系统的结合

         我们知道文件系统和数据库系统存放的主要是数据,而对于这些数据的处理都是外界附加的。实体与操作的分离,实体就非常适合与结构话的文件数据和数据库数据进行

转换,便于在内存中实施对这些数据的处理。

    4)以实体而不是单纯的记录来表示数据,可以很好的利用类的特性,来聚合数据,可以更好的从整体方面来对待这些对象,比如订单实体,可以将表单头和订单明细数据作为整体来考虑。

  不好的地方:

      1)因为实体只包含属性,而不提供或者只提供少量的方法,使得原来可以封装在实体对象内的方法,也必须由外部提供,而且实体必需全面暴露自己。从这个方面来看,站在面向对象的角度讲,破坏了对象的封装性。同时由于实体主要包含的是静态特征,多态,继承的作用不是很大(提供一定的接口属性实现还是可以的)。其实这算不上不好的地方,有些事情没必要进入“洁癖”状态。

 

看到这里,大家或许会发现,实体与操作类的分离,有点数据库的味道,实际上现在有些持久层框架在某种意义上来讲,就是一个简化的内存关系数据库,比较典型的就是LINQToSQL,ADONetEntity Framework。

 

........

下一篇,主要讲实体框架主要功能和一般架构,对于一些关键技术,会提供代码实现。

 同时也欢迎大家指正。

【SPSS实战】手动实现Quade非参数协方差分析:从数据准备到结果解读 本文详细介绍了在SPSS中手动实现Quade非参数协方差分析的全过程。针对数据不满足正态性和方差齐性假设时,如何通过秩转换、回归调整残差,并最终利用Kruskal-Wallis检验完成组间比较。该方法为处理含协变量的非参数多组比较问题提供了清晰的实战解决方案,并探讨了其与标准Quade检验的异同及适用场景。 阅读详情

相关推荐

2022-2028年中国美容仪行业发展战略规划及投资机会预测报告

报告类型:产业研究 报告格式:电子版、纸介版 出品单位:智研咨询-产业信息网 美容仪是一种根据人体生理机能进行调节改善身体和面部的机器,它按照功能来说有美白、嫩肤、祛斑、祛皱、脱毛、减肥等多种,按照名称来说有超声波导入、光子嫩肤、高周波电疗、RF 电波拉皮、电子祛斑点痣、E 光永久脱毛嫩肤、贾法尼营养导入导出等。 智研咨询发布的《2022-2028年中国美容仪行业发展战略规划及投资机会预测报告》共十七章。首先介绍了中国美容仪行业市场发展环境、美容仪整体运行态势等,接着分析了中...

kt346的博客 468

Java,什么是实体类,实体类有什么用?

实体类是在JAVA软件开发中

a2806005024的专栏 7万+

手把手复现金蝶云星空V8.1文件上传漏洞(附完整POC与修复方案)

本文深度解析金蝶云星空V8.1文件上传漏洞,提供详细的漏洞复现步骤与完整POC,涵盖技术原理、测试环境搭建及验证流程。同时给出多维防护方案,包括官方补丁部署、临时缓解措施和长期安全加固建议,帮助企业有效防范任意文件上传风险。

weixin_30505225的博客 183

数据库中的键和约束

1.约束的类型 约束分为3大类:实体约束,域和参照完整性约束 域约束 定义:域约束就是对列的约束; 例如:上图的Unit Price 列要求价格必须大于0  实体约束 定义:实体约束就是对行的约束; 例如:例如要求每一行都有一个唯一值,例如主键 参照完整性约束 定义:如果某列的值必须与其他列的值匹配,就意味着创建了参照完整性约束; 例如:

LUOCHENLONG的专栏 6572

深入解析安卓/Linux固件:从DTB到DTS的反编译实战

本文详细介绍了如何从安卓/Linux设备固件中提取并反编译DTB文件,将其转换为可读的DTS源码。通过实战步骤,包括拆解boot.img、处理resource.img以及使用dtc工具,帮助开发者深入理解设备硬件配置,为固件定制、驱动调试和系统移植提供关键支持。

weixin_29274337的博客 339

15、 深入理解Akka微服务:创建与管理体育博彩平台

本博文深入探讨了如何使用Akka微服务架构为体育博彩平台创建投影和管理事件数据,包括市场投影、投注投影以及数据库投影的实现。同时,介绍了通过gRPC提供HTTP端点以供外部系统访问的方法,并详细说明了在本地环境和Kubernetes中运行应用程序的步骤及配置建议。

weixin_35756624的博客 96

实体的概念

从逻辑上说,一个XML文档由一个序进程构成,序进程后有一严密的包含了其他所有元素的基本元素.但XML文档的实际数据可以扩展分布在若干文档中。例如:即使一个教育统计中包含了数千名学生,每个student元素也可以以独立的文件形式存在。包含XML文档细节内容的存储单元称为实体(entities)。实体可能是由一个文件、一个数据库记录或其他包含数据的项目组成。 包含XML声明或文...

weixin_30859423的博客 1445

华为MetaERP国资委语境下的 DRP(全域数字化资源管理平台/Digitalized Resource-management Platform)与传统 ERP(以 SAP、Oracle 为代表)的

【摘要】国资委推动的DRP(全域数字化资源管理平台)正在重构央国企数智化转型路径,其本质是通过"ERP管交易+DRP管管控"的双层架构实现升维替代。与传统ERP相比,DRP具有三大突破:采用国产分布式数据库实现全级次穿透监管、构建数据中台打破信息孤岛、以实时分析替代事后报表。当前政策明确2026-2030年分阶段建设目标,这将重塑产业格局——倒逼传统ERP厂商转型,为云原生/AI/信创企业创造新机遇。需注意DRP并非简单替代ERP,而是通过治理模式变革实现"交易系统做薄、管控中

金牌架构师 287

关系模型中的三类完整性约束:实体完整性、参照完整性和用户定义完整性

数据完整性 要想了解这三类完整性约束首先要了解什么是数据完整性。数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符。关系模型中三类完整性约束: – 实体完整性(Entity Integrity) – 参照完整性(Referential Integrity) – 用户定义的完整性(User-defined Integrity) • 实体完整性和参照完整性是关系模型必须满足的完整性约束...

qq_42884482的博客 13万+

uniapp [全端兼容] - 实现上传本地视频到后端服务器及在线预览播放视频+移除视频+进度条上传,将已选视频上传服务端并可预览视频和删除功能,上传单个或多个视频文件及大文件(H5、小程序、app)

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniapp+uview上传视频并预览,UNI-APP视频上传组件,实现视频文件上传视频回显,上传视频并预览、上传多个视频,实现上传视频功能+预览,上传显示视频功能,上传视频预览移除,批量上传视频,上传超大视频文件,视频上传并预览效果,uniapp上传视频,使用uview上传视频及预览,上传视频和删除视频功能,视频流上传播放功能,上传视频到后端,视频上传与实时预览功能,upload上传组件,视频播放器

🏆 前端领域优质创作者 1万+

2023年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题4)-网络部分解析-附详细代码

2023年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题4)-网络部分解析-附详细代码

bfq05234214的博客 441

解剖实体框架(3)--与数据库交互

实体框架一个基本的功能就是要与数据库交互,与数据库交互当然可以利用现有的一些基本技术,比如dotnet的ADO.Net等。这里有几个要点:        1)要封装底层的数据库交互通道,这个可以利用现有的数据库访问技术,比如ADO.Net。        2)构造与数据库交互的SQL语句,比如新增,删除,修改,查询等.做得比较好的,需要支持关联查询等。当然能做到AEF中的ESQL那样,还是有点

三人行必有我师,手写三行必有所悟 4416

dify制作的工作流如何通过API调用

本文介绍了如何通过Python程序调用Dify工作流API实现数据处理功能。文章详细展示了workflow和chatflow的调用方法,包括参数设置和结果输出,并提供了一个完整的API调用工具代码示例。该工具可实现文本处理、成果查重、关键词生成等功能,支持通过Python脚本或Postman进行调用。核心代码包含API请求函数和批量处理函数,通过HTTP请求与Dify服务端交互,实现自动化数据处理流程。

hhue2007的专栏 935

博文整理(编程技术深入解剖系列--Spring技术,实体框架)

1、Spring关键技术解剖系列 Spring系列(1)--创建动态代理类 Spring系列(2)--为什么需要动态代理 Spring系列(3/1)---交互的一种尝试 Spring系列(3/2)---交互的改进 Spring系列(3/3)---一个较为完善的模型 S

三人行必有我师,手写三行必有所悟 5251

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

解剖实体框架(2)--实体框架的基本功能

一般的实体框架都包括以下一些功能: 1、与物理存储交互       原因很简单,数据不能总在内存里,最终还是要存起来,所以,实体框架的一个基本功能就是要解决与物理存储之间的交互问题。这里的物理存储主要包括文件和数据库系统,以文件作为实体的物理存储方式,虽然不是很普遍,但也有用武之地,一些很小的应用系统,表不多,数据之间的关系不是很复杂的情况下,也可以直接采用文件进行存储,没必要为这种很小的应用

三人行必有我师,手写三行必有所悟 3826

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

解剖实体框架(6)---总结

1、实体应该要简单,层次最好平面化,这样有利于实体在各种通信中穿越(比如Webservices,WCF,Remoting,WCF RIA等); 2、虽然实体应该平面化,但并不代表不能有继承层次,因为这种层次可以获得很多管理和架构的好处。 3、采用根据实体(包括配置文件)动态构

三人行必有我师,手写三行必有所悟 3382

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: 对使用通用框架的一点看法.
下一篇: 解剖实体框架(2)--实体框架的基本功能
广州接入
广州接入 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄24年 2224粉丝 731原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值