NTier逻辑层与模型,处理CRUD
我的团队正在考虑重新架构我们的某些系统以满足以下模式
我们有一些模型,如:
public class Configuration
{
public int Id {get;set;}
public string Description {get;set;}
}
public class Manufacturer
{
public int Id {get;set;}
public string Description {get;set;}
}
public class Car
{
public int Id {get;set;}
public string Name {get;set;}
public Manufacturer Make {get;set;}
public IEnumberable<Configuration> AvailableConfigurations {get;set;}
}
在逻辑层,我们有一个类似
的CarLogic类public interface ICarLogic
{
void Add(Car);
void Update(Car);
void Delete(Car);
void GetAll(Car);
void GetByManufacturer(ManfacturerId);
}
表:汽车 列:Id,模型
表:配置 列:Id,描述
表:制造商 列:Id,描述
表:Car_Configs 列:Car_Id_Fk,Configuration_Id_Fk
现在问题,
答案 0 :(得分:0)
这可能是CQRS设计模型更适合的一个很好的例子。
关于你的问题:
1)我个人将更新拆分为:更新Car的基本属性,以及单独添加/更新/删除给定汽车配置的方法。这基本上是为了避免每次检查所有可用配置的更改内容。
2)我将定义为有问题的viewmodel创建所需的最小READ查询。