【发布时间】:2016-03-04 13:56:58
【问题描述】:
这是我的课:
public class Boots
{
public string Name { get; private set; }
public int Size { get; private set; }
public Boots(string Name, int Size)
{
this.Name = Name;
this.Size = Size;
}
}
我想创建一个从数据库中按名称获取引导的方法。 我应该把这种方法放在 OOP 思维中吗?该方法不属于启动实例,但在我看来,它属于该类。
正确的方法是在引导类中使用一个返回实例的静态方法
public static Boots GetBoots(string Name)
{
//Get boot from db and creates a Boots by calling its constructor
return new Boots(.....);
}
【问题讨论】:
-
搜索“活动记录”,这个已经讨论过很多次了。
-
您可以创建一个
BootsRepository来获取并保存Boots的实例。 (我也在努力寻找一个比Boots更好的名字。因为该类的复数集合在语义上会很奇怪。也许可以称之为BootPair?) -
您将需要某种从数据库实体创建内存对象的工厂。这几乎不属于实际的要素类 IMO。
-
BootsRepository 的想法很好。然后我与实例类有一个清晰的分离。 (对不起,命名类靴子......我应该强迫业务将它们分成一和一:)