“.NET研究”理解POCO

  理解POCO先要理解POJO
  1、什么是POJO
  POJO的名称有多种,pure old java object 、plain ordinary java object 等。
  按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称上海网站建设呼它。
  POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。上海徐汇企业网站制作br />   POCO的概念是从java的POJO借用而来,而两者的含义是一致的,不同的仅仅是使用的语言上海闵行企业网站设计与制作不一样。所以POCO的解释就是“Plain Old C# Object”。
  2、为什么会有POJO?
  主要是Jav上海企业网站制作a的开发者被EJB的繁杂搞怕了,大家经过反思,又回归“纯洁老式”的JavaBean,即有无参构造函数,每个字段都有getter和setter的java类。
  3、POJO的意义
  POJO让开发者可专注于业务逻辑和脱离框架的单元测试。除此之外, 由于POJO并不须要继承框架的类或实现其接口,开发者能够极其灵活地搭建继承结构和建造应用。
  POJO的意义就在于它的简单而灵活性,因为它的简单和灵活,使得POJO能够任意扩展,从而胜任多个场合,也就让一个模型贯穿多个层成为现实。
  先写一个核心POJO,然后实现业务逻辑接口和持久化接口,就成了Domain Model; UI需要使用时,就实现数据绑定接口,变成VO(View Object)。
  4、POJO与PO、VO的区别
  POJO是指简单java对象(Plain Old Java Objects、pure old java object 或者 plain ordinary java object)。
  PO是指持久对象(persistant object持久对象)。
  VO是指值对象或者View对象(Value Object、View Object)。注意,本文的VO特指View Object。
  持久对象实际上必须对应数据库中的entity,所以和POJO有所区别。比如说POJO是由new创建,由GC回收。但是持久对象是 insert数据库创上海企业网站设计与制作建,由数据库delete删除的。基本上持久对象   生命周期和数据库密切相关。另外持久对象往往只能存在一个数据库 Connection之中,Connnection关闭以后,持久对象就不存在了,而POJO只要不被GC回收,总是存在的。
  由于存在诸多差别,因此持久对象PO(Persistent Object)在代码上肯定和POJO不同,起码PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。而ORM追求的目标就是要 PO在使用上尽量和POJO一致,对于程序员来说,他们可以把PO当做POJO来用,而感觉不到PO的存在。
  5、POJO的扩展
  POJO仅包含最简单的字段属性,没有多余的东西,它本质上就是一个普通的JavaBean。
  但是在POJO的基础上,能够扩展出不同的对象。

  • 为POJO增加了持久化的方法(Insert、Update、Delete……)之后,POJO就变成了PO。
  • 为POJO增上海闵行企业网站制作加了数据绑定功能之后,POJO就变成了View Object,即UI Model。
  • 为POJO增加业务逻辑的方法(比如单据审核、转帐……)之后,POJO就变成了Domain Model。
  • 上海徐汇企业网站设计与制作POJO还可以当作DTO使用。
时间: 2024-10-14 11:36:15

“.NET研究”理解POCO的相关文章

一起谈.NET技术,理解POCO

理解POCO先要理解POJO 1.什么是POJO POJO的名称有多种,pure old java object .plain ordinary java object 等. 按照Martin Fowler的解释是"Plain Old Java Object",从字面上翻译为"纯洁老式的java对象",但大家都使用"简单java对象"来称呼它. POJO的内在含义是指那些没有从任何类继承.也没有实现任何接口,更没有被其它框架侵入的java对象.

合意性研究:理解美感和视觉设计方向

介绍 最近我在Jakob Nielsen的Alertbox article上发表了一篇文章,里面提到了一种"测量美感"的方法,很多人让我多谈谈"合意性研究".合意性研究实际上不仅仅是测量,因为我们也可以用它们来告知或者启发你可能正在考虑的不同的视觉设计的方向.我在这篇文章中提到了一个用户研究的方法图,合意性研究在这个图中被界定为一种态度研究,它可以是定性的,也可以是定量的(如下图所示,在图的中部下面,是一种混合的方法). 主观性问题 合意性研究不太出名,虽然视觉设计

“.NET研究”理解.NET程序集的执行过程

对于一个已编译好的.NET程序集,Windows操作系统是如何启动执行的呢?日常使用中我们发现对于托管的和非托管的程序集编译器都会吧程序集编译成上海企业网站制作以.exe或.dll等为扩展名的文件,可见Windows加载器并没有区分是托管还是非托管的程序集,而且我们也知道对非托管的程序集是在编译器直接编译成了机器码,自然可以由CPU直接执行,而托管的.NET 程序集是包含复杂结构的MSIL代码,执行时会使用JIT即时编译器将IL代码编译成机器码,再由CPU执行,当然这期间还需要执行其它许多的工作

.NET :静态类的“.NET研究”理解

静态类是一种声明为 static 类型的,且仅包含静态成员的类.不能使用 new 关键字创建静态类的实例.静态类在加载包含该类的程序或命名空间时上海徐汇企业网站制作om'>上海网站建设由 .NET Framework 公共语言运行库 (CLR) 自动加载. 静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数.静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化.当类中没有依赖对象标识的数据或行为时,就可以使用静态类. 静态类的主要特点如

《用户至上:用户研究方法与实践》研究之前:先理解目标用户

研究之前:先理解目标用户 2.1 概述 当着手开展一个新项目时,你的第一要务通常是了解产品(如果已经存在)及其涉及的领域和目标用户.在项目初期尽可能多地理顺现有产品和其领域知识.竞争对手和客户至关重要,这会使你不必花费时间来创建已有的知识.你可以从一系列渠道获得这些重要的信息:试用自己的产品,聆听客户反馈,社会情感分析,日志文件和网络分析,与市场部门交流,竞品分析,或是从极客用户或合作伙伴获得反馈.此外,你需要评估现阶段对于用户的理解,并开始创建用户画像.这些信息将帮助你选择合适的用户研究方法来

《中国人工智能学会通讯》——3.33 长期研究需求 (Long-Term Research Needs)

3.33 长期研究需求 (Long-Term Research Needs) 空间计算给社会提供了巨大的价值,但是它的成功也引发了意义重大的挑战,应对这些挑战确实需要超出空间计算领域的专业知识.首先,不同于以往地图数据来自受认可的数据源,公众变成了实际的地图标记者并且大部分现象是可观察到的,因此,需要将目光从由一些信任的来源中获取的混合数据转移到协调大量志愿者所产生数据.第二,多平台位置感知能力需要将空间计算从一些平台(例如手机)转移到几乎所有平台(例如传感器.电脑和云)上.第三,为了确保所有社

用户研究Q&A(1)

近来,不少同事开始认同用户研究的价值,希望通过接触,理解和研究用户来获取提升产品的有效信息.这绝对是件好事,因为我一直抱持的理念是,研究并不是藏在实验室或者握在少部分人手中的稀罕货,更重要是一种理念和思维方式,只要愿意,人人都可以掌握.虽然由于背景的不同,大家对具体技术(比如如何设计问卷和统计,如何访谈)的掌握可能做不到很专业,但只要有这个意愿,了解并接受相应的理念,就可以开始将用户研究,或者说更广义的研究思维整合到产品开发的整个流程中,并懂得在对的节点做对的研究.至于在具体方法的选用,执行和操

看不懂openssl的编程语言

问题描述 看不懂openssl的编程语言 初次接触openssl,想对例子做个研究理解,可是里面的语言看不懂,不明天它要表达的是什么? 解决方案 帖代码先,不然我们怎么知道你想说什么呢

《ASP.NET MVC 4 实战》----2.3 Guestbook示例应用程序

2.3 Guestbook示例应用程序 ASP.NET MVC 4 实战 为使Guestbook应用程序有用,我们需要为用户提供一些递交条目的方式,将这些条目存储起来,以便稍后进行查看.为了达到这一目标,我们打算对应用程序添加一个数据库,将其作为该留言簿的后台存储库. 首先从创建数据库开始,然后考察如何接受用户输入并存储它,最后演示如何获取数据,以便将其显示给用户. 2.3.1 创建数据库 绝大多数Web应用程序都需要某种数据仓库的支持,这可能是一个关系型数据库(如微软的SQL Server或M