当客户端应用程序请求一个新对象时,我让 Factory 类为我创建该新对象。
public class CarFactory{
public Car CreateCar()
{
//create a new car object and send back
}
}
汽车对象的属性是通过调用存储在数据库中的存储过程来填充的。在数据库中,我们存储可以每天更改的默认值。默认表由外部系统填充。
public class Car {
public List<string> DefaultTyres {get;set;}
public List<string> DefaultPetrolSpec {get;set;}
}
因此,当工厂(服务层调用)创建 Car 对象时,工厂类调用存储库类,然后调用 DB 来填充 Car 的属性……但是这些层的关系听起来有点奇怪……
public Car CreateCar()
{
//create a new car object and send back
//Call CarRepository.GetDefaultTyres(), CarRepository.GetDefaultPetrolSpec() etc.
}
因为我认为我的工厂实现做了很多。可能它不应该调用存储库层(然后调用数据库来获取汽车对象的数据)。
你们有什么感想?工厂类应该与数据库通信吗?如果他们这样做可以吗?如果不是,那应该是谁的责任?