原文

The principle of Persistence Ignorance (PI) holds that classes modeling the business domain in a software application should not be impacted by how they might be persisted.

Thus, their design should reflect as closely as possible the ideal design needed to solve the business problem at hand, and should not be tainted by concerns related to how the objects’ state is saved and later retrieved.

Some common violations of Persistence Ignorance include

  • domain objects that must inherit from a particular base class,
  • or which must expose certain properties.
  • Sometimes, the persistence knowledge takes the form of attributes that must be applied to the class,
  • or support for only certain types of collections
  • or property visibility levels.

There are degrees of persistence ignorance, with the highest degree being described as Plain Old CLR Objects (POCOs) in .NET, and Plain Old Java Objects (POJOs) in the Java world.

最新文章

  1. cmd命令快速修改dns
  2. 基于VC的ACM音频编程接口压缩Wave音频(二)
  3. Memcache基础教程
  4. C++11 之 scoped enum
  5. Java: arr==null vs arr.length==0
  6. Web开发者不可不知的15条编码原则
  7. The main roles of LTE eNodeB.
  8. pom.xml第一行报错
  9. Java并发编程:线程和进程的创建(转)
  10. owa_outlook暴力破解脚本
  11. 蓝桥杯- 移动距离-java
  12. 从零开始系列之vue全家桶(6)实战前的设计
  13. Ubuntu14.04打开cheese却黑屏的问题
  14. composer 下载包慢的解决方法
  15. JavaScript学习 - 基础(二) - 基础类型/类型转换
  16. 分享我对JS插件开发的一些感想和心得
  17. ThinkPHP 5.2 出 RC1 版本 RC 是什么意思呢?
  18. Dom4j解析、生成Xml
  19. 区间DP初探 P1880 [NOI1995]石子合并
  20. 1-10假期训练(hdu-2059 简单dp)

热门文章

  1. hibernate的面试总结
  2. 7款让人惊叹的HTML5粒子动画特效(转载)
  3. windows系统-phpstudy升级mysql8.0.12安装教程及修改密码和安装注意事项
  4. day13 十三、迭代器、生成器、枚举对象
  5. 用VsCode写Markdown
  6. linux终端提示符显示bash-4.2#
  7. -webkit-line-clamp、-webkit-box-orient vue 打包部署后不起作用??
  8. Linux下Solr单机版、集群版安装与配置
  9. springmvc.xml 中 <url-pattern></url-pattern>节点详解
  10. java框架之SpringCloud(4)-Ribbon&Feign负载均衡