我试图理解POCO的确切含义(是的,我已经读过维基百科,但仍然无法得到主要观点:()。
我理解Value Object是一个基本上只有属性来保持数据没有任何行为的对象。
在这种情况下,在我看来POCO和'Value Objects'具有相同的结构,但不同之处在于POCO的目标是.net框架。
我说错了吗?
感谢。
答案 0 :(得分:7)
术语POCO(Plain Old CLR Object)通常用于表示对外部第三方库没有任何直接或间接依赖性的 .NET类。 POCO这个词本身并没有说明对象是仅包含数据还是包含数据和行为。但它确实表明该类是在.NET平台之上构建的。
值对象(或数据传输对象)是一种通用的设计模式,描述了将对象用作数据结构以在系统的不同部分之间传输数据。这些对象通常只包含数据,除了访问器方法之外没有任何行为。
鉴于上述定义,可以公平地说,在.NET平台上构建的值对象不依赖于第三方框架是POCO。同样,POCO可能是也可能不是价值对象,具体取决于其结构及其使用方式。
相关资源: