类设计,哪一种是最佳设计方法?

时间:2011-01-18 13:09:03

标签: class-design

我是建筑设计的新手,需要一些帮助。

我有两个班级,即'部分'和'供应商'。部分将有供应商。

在我的班级设计中,我应该将“int SupplierID”(类型为“int”)或“供应商供应商”(类型为“供应商”)作为我在Part类中的属性吗?

哪一个更好?它们的优点和缺点是什么?

Kinldy就此提供了您的意见。

1 个答案:

答案 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的这篇文章应该解释:

http://martinfowler.com/articles/injection.html