在 C# 中让一个模型由其他模型组成是好的做法吗?
Is it good practice to have a model made up of other models in C#?
在我们的共享代码库中,刚刚加入了一个功能分支,其中包含一个仅由其他模型组成的模型。我只是想知道这是否是值得遵循的好习惯?我可以举一个例子,有一个 Fruit
模型包含 Name, Price, Quantity
等属性,另一个 Stocks
模型包含 ItemId, Amount, Name
。共享模型的设置方式如下:
FruitStock
{
Fruit Fruit {get; set;}
Stock Stock {get; set;}
}
这对我来说似乎是错误的,并且在两个模型都需要某些东西的情况下,可以进行查找并将值分配给变量。但是,如果我错了,那么我想我今天学到了一些新东西。
根据 class 设计指南,class 应该只有一个目的。我不确定您在多大程度上简化了您的请求,但在这种情况下,将 ItemId 集成到 Fruit.[=19= 中更有意义]
这完全取决于最终目的...如果 Fruit 是每个人都可以访问的东西,而 Stock 仅限于一定数量的用户,那么这也可能是一个合适的设计。
另一种方法是让 FruitStock 实现接口 IFruit 和 IStock
在我们的共享代码库中,刚刚加入了一个功能分支,其中包含一个仅由其他模型组成的模型。我只是想知道这是否是值得遵循的好习惯?我可以举一个例子,有一个 Fruit
模型包含 Name, Price, Quantity
等属性,另一个 Stocks
模型包含 ItemId, Amount, Name
。共享模型的设置方式如下:
FruitStock
{
Fruit Fruit {get; set;}
Stock Stock {get; set;}
}
这对我来说似乎是错误的,并且在两个模型都需要某些东西的情况下,可以进行查找并将值分配给变量。但是,如果我错了,那么我想我今天学到了一些新东西。
根据 class 设计指南,class 应该只有一个目的。我不确定您在多大程度上简化了您的请求,但在这种情况下,将 ItemId 集成到 Fruit.[=19= 中更有意义]
这完全取决于最终目的...如果 Fruit 是每个人都可以访问的东西,而 Stock 仅限于一定数量的用户,那么这也可能是一个合适的设计。
另一种方法是让 FruitStock 实现接口 IFruit 和 IStock