servicestack 什么';这是一个非POCO对象的示例,为什么不是';这不是一个POCO吗?,servicestack,poco,servicestack,Poco" /> servicestack 什么';这是一个非POCO对象的示例,为什么不是';这不是一个POCO吗?,servicestack,poco,servicestack,Poco" />

servicestack 什么';这是一个非POCO对象的示例,为什么不是';这不是一个POCO吗?

servicestack 什么';这是一个非POCO对象的示例,为什么不是';这不是一个POCO吗?,servicestack,poco,servicestack,Poco,我看到过这样一个问题,“POCO是什么意思?”在网上被问到,看到了很多解释,但我仍然不清楚。我知道它代表“普通的旧CLR对象”,但这并不能真正帮助我理解它 有人能给我举几个不是POCO的例子并解释为什么它不是POCO吗 谢谢 编辑:我开始得出这样的结论:POCO对象是任何可以在任何其他CLR支持的语言中轻松转换为相同对象的对象,因为它不依赖于任何平台特定的或语言特定的库,而这些库不是通用的。该术语主要用于框架为您提供了一些服务(如ORM中的持久性),而无需更改业务对象上的任何内容。其他框架可能会

我看到过这样一个问题,“POCO是什么意思?”在网上被问到,看到了很多解释,但我仍然不清楚。我知道它代表“普通的旧CLR对象”,但这并不能真正帮助我理解它

有人能给我举几个不是POCO的例子并解释为什么它不是POCO吗

谢谢


编辑:我开始得出这样的结论:POCO对象是任何可以在任何其他CLR支持的语言中轻松转换为相同对象的对象,因为它不依赖于任何平台特定的或语言特定的库,而这些库不是通用的。

该术语主要用于框架为您提供了一些服务(如ORM中的持久性),而无需更改业务对象上的任何内容。其他框架可能会要求您从某个基类派生对象,或者实现某个接口。对于POCO,它只是您的普通对象,不需要任何更改。

POCO的意思是:除了纯类之外什么都没有。没有来自任何基类的继承(最终您自己的除外),没有任何属性的修饰,没有任何类型的接口实现(最终您自己的除外),没有其他任何东西会以任何方式将代码与某项技术联系起来。

你是说,使对象POCO的原因是它不依赖于对象本身之外的任何东西吗?基于STL的对象是否不是POCO对象,因为它使用STL?@cwm9我的意思是,您的对象仅依赖于您自己选择的构造(例如STL),而不是来自外部库的构造,您可能希望在下周将其替换为其他库。stefan2410提到的答案非常好。