我是建筑设计的新手,需要一些帮助。
我有两个班级,即'部分'和'供应商'。部分将有供应商。
在我的班级设计中,我应该将“int SupplierID”(类型为“int”)或“供应商供应商”(类型为“供应商”)作为我在Part类中的属性吗?
哪一个更好?它们的优点和缺点是什么?
Kinldy就此提供了您的意见。
答案 0 :(得分:1)
Supplier supplier
将供应商作为一种类型并将SupplierID作为供应商的财产对我来说更有意义。最初的好处是您可以对供应商ID进行一些基本验证。当然你现在将它表示为一个int,但这可能(并且可能会)将来改变。例如,您可以决定在内部将ID表示为字符串和int,但在报告时,您将其表示为字符串:XYZ1234,其中XYZ是供应商公司名称(字符串),1234是唯一ID(int)(可能是一个糟糕的人为例子,但它仍有可能以某种方式改变)/
将供应商作为一种类型的真正优势在于,您可以在创建零件实例时使用Dependancy Injection将供应商分配给零件。因此,Part的构造函数应该如下所示:
Part(Supplier supplier)
{
_supplier = supplier;
}
现在,您的Part类不依赖于您的Supplier类中的更改。即它不依赖于它。
注意:如果您不熟悉Dependancy Injection,Martin Fowler的这篇文章应该解释: