Xamarin:为什么需要BusinessEntityBase类
我想学习Xamarin,我看了一个名为“Tasky”的示例项目 但我不明白为什么会有BusinessEntityBase类。。。 一个任务也需要它的ID被PK和递增,那么为什么它不实现呢 BusinessEntityBase类而不是IBusinessEntity接口Xamarin:为什么需要BusinessEntityBase类,xamarin,Xamarin,我想学习Xamarin,我看了一个名为“Tasky”的示例项目 但我不明白为什么会有BusinessEntityBase类。。。 一个任务也需要它的ID被PK和递增,那么为什么它不实现呢 BusinessEntityBase类而不是IBusinessEntity接口 public class Task : IBusinessEntity { public Task () { } [PrimaryKey, AutoIncrement] public int
public class Task : IBusinessEntity
{
public Task ()
{
}
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string Name { get; set; }
public string Notes { get; set; }
// new property
public bool Done { get; set; }
}
public abstract class BusinessEntityBase : IBusinessEntity
{
public BusinessEntityBase ()
{
}
/// <summary>
/// Gets or sets the Database ID.
/// </summary>
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
}
public interface IBusinessEntity
{
int ID { get; set; }
}
IBusinessEntity接口就是一个接口,在本例中,它的属性ID将是每个业务实体的一部分。阅读C中接口的使用,更好地理解为什么要这样做 另一个例子是: 假设您有一个员工管理应用程序,其中包含三种不同类型的用户—经理、开发人员和测试人员。每一个都有一节课 它们很可能都包含一个ID字段、一个名字和一个姓氏 您不需要向每个类添加相同的属性,而是创建一个名为IEmployee的接口,该接口有三个字段-ID、FirstName和LastName,并获取三个类中的每一个来实现它 在功能上,在接口上实现属性并手动添加它们对类具有相同的效果。虽然有一个接口连接了这三个对象,但现在您有了一种更抽象的方式来访问数据。例如,要计算员工数量,您可以检查IEEmployee对象的数量,而不是将所有三个对象分开计算,然后再加起来 TL;医生这样做不是强制性的。在这个场景中,您可以简单地拥有一个具有ID字段的BusinessEntity类。这只是一个很好的实践,使您的应用程序在增长时易于维护