C# 困惑,这是poco吗?
假设我要实现以下接口:C# 困惑,这是poco吗?,c#,poco,C#,Poco,假设我要实现以下接口: public interface ICar { bool IsMoving(); bool IsRegistered(); int CurrentSpeed {get; set;} } public class Car : ICar { public int CurrentSpeed {get; set;} public bool IsMoving() { //
public interface ICar
{
bool IsMoving();
bool IsRegistered();
int CurrentSpeed {get; set;}
}
public class Car : ICar
{
public int CurrentSpeed {get; set;}
public bool IsMoving()
{
// some logic here
}
}
这个IsMoving()方法是否破坏了poco定义?poco是框架设计的一个特点,这意味着(某些)使用框架的代码不必进行调整。最值得注意的是,在ORM框架中,这意味着实体类不必实现
IEntity
,就可以在数据库中持久化
这意味着在您自己的代码中,您不需要关心什么是“POCO”,什么不是“POCO”。但是,如果您要求其他人使用您的代码来实现ICar,那么您不允许他们使用POCO。请检查此链接以验证POCO 引用(但请阅读链接并点击其他链接) …POCO遵循OOP规则。它应该(但不是必须) 有状态和行为。POCO来自马丁创造的POJO 福勒
换句话说,如果POCO有行为,这是绝对可以的<代码>对POCO的要求
是不知道持久性的检查它是否有帮助。该术语与持久性无关。一般来说,它的意思是“不知道有框架向它提供服务”。这些服务可以是对象状态的持久性,或者将其方法公开为web服务,或者注入依赖项。如果您的框架对客户端对象有任何要求,那么这些对象不是POCO。