当前位置: 首页 > news >正文

POCO浅探

     POCO作用类似于POJO。POJO的内在含义是指那些从来没有任何类继承、也没有实现任何接口,更是没有被其他框架侵入的JAVA对象。POCO的含义与此是一致的。POJO的意义就在于它的简单灵活性,能够任意扩展,从而胜任多个场合,也就让一个模型贯穿多个层成为现实。先写一个核心POJO,然后实现业务逻辑接口和持久化接口,就成了Domain Model;UI需要使用时,就实现数据绑定接口,变成VO(view object)。

  POCO(Plain OldCLR Object)在Entityframewor4.0中使得实体对象可独立于EF存在,由此EF更好地支持了测试驱动开发(test-driven development)和领域驱动设计(domain-driven design)。同时,EF仍旧可以帮助跟踪POCO实体的变化,允许延迟加载,也会自动修正对导航属性(navigation properties)和外键的改动。

  Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。

  

  POCO允许以透明持久化的方式编写自己的实体类,但还有必要接入持久性和EF元数据,这样你的POCO实体可以从数据库中复原,以及持久化到数据库中。

 

 

1)为POCO增加了持久化的方法(Insert、Update、Delete……)之后,POCO就变成了PO。

2)为POCO增加了数据绑定功能之后,POCO就变成了View Object,即UI Model。

3)为POCO增加业务逻辑的方法(比如单据审核、转帐……)之后,POCO就变成了Domain Model。

 

持久化的对象:

1.持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

转载于:https://www.cnblogs.com/super86/p/3153392.html

相关文章:

  • Dataset+TableAdapter _.net最终数据访问类出现? 我的心血显然被藐视了
  • Scrum实施日记 - 我可以问问题吗?
  • Design Patterns
  • 手机端雅安地震寻人整合项目
  • 香港身份证
  • UDDI(一)
  • 浅谈 XSS CSRF(转)
  • ansible笔记(2):管理清单配置详解
  • VS2015 Web应用程序发布
  • 《Java核心技术卷一》之 泛型
  • emacs 窗口控制
  • 如何在同一任务列表中显示我的任务及我所属组的任务
  • POJ2017-Speed Limit
  • springboot不占用端口启动
  • C语言标准中的逻辑位移和算术位移
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【Amaple教程】5. 插件
  • 【mysql】环境安装、服务启动、密码设置
  • AHK 中 = 和 == 等比较运算符的用法
  • bootstrap创建登录注册页面
  • Javascript弹出层-初探
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • log4j2输出到kafka
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • MYSQL 的 IF 函数
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python 反序列化安全问题(二)
  • Rancher如何对接Ceph-RBD块存储
  • v-if和v-for连用出现的问题
  • 前端学习笔记之观察者模式
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 小程序01:wepy框架整合iview webapp UI
  • HanLP分词命名实体提取详解
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​【已解决】npm install​卡主不动的情况
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​如何防止网络攻击?
  • #1014 : Trie树
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (02)vite环境变量配置
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (四)鸿鹄云架构一服务注册中心
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (一一四)第九章编程练习
  • (转)Linux下编译安装log4cxx
  • (转)四层和七层负载均衡的区别
  • *1 计算机基础和操作系统基础及几大协议
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net 程序发生了一个不可捕获的异常
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .Net 代码性能 - (1)