【发布时间】:2014-02-17 15:17:10
【问题描述】:
从例如传递模型类是否被认为是一种好习惯?将 DAL 转换为线程服务类作为“信息模型”?
例子:
public class CarModel {
public string Name { get; set; }
public int AmountOfWheels { get; set; }
public Engine EngineDescription { get; set; }
}
public class Car {
public CarModel CarModel { get; set; }
public Car(CarModel model) {
this.CarModel = model;
Thread.Start(BrummBrumm);
}
private void BrummBrumm() {
// start the car
}
}
这个例子是在假设 CarModel 是一个实体(例如与实体框架或任何其他存储库/DAL 一起使用)或模型类与 UI、WebApi、WCF.. 一起使用的假设下进行的,而 Car 是一个驻留的类作为例如实施Windows 服务。
编辑更多代码
public class CarManager {
public List<Car> Cars = new List<Car>();
public void Add(CarModel model) {
this.Cars.Add(new Car(model));
}
public void Remove(int id) {
...
}
}
...那么上面的例子是什么?如果我不仅有汽车,还有摩托车怎么办?上面的例子不会创建很多样板代码吗?
【问题讨论】:
-
策略模式在这种情况下可能会有所帮助:stackoverflow.com/questions/3449634/…
标签: c# oop architecture