【问题标题】:Class Design, which one is best design approach for this?类设计,哪一种是最好的设计方法?
【发布时间】:2011-01-18 21:32:31
【问题描述】:

我是架构设计的新手,需要一些帮助。

我有两个班级,即“零件”和“供应商”。零件会有供应商。

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

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

Kinldy 对此提供您的意见。

【问题讨论】:

    标签: class-design


    【解决方案1】:
    Supplier supplier 
    

    将 Supplier 作为类型并将 SupplierID 作为 Supplier 的属性对我来说更有意义。最初的好处是您可以对供应商 ID 进行一些基本验证。当然,您现在将其表示为 int ,但这可能(并且可能会)在未来发生变化。例如,您可能决定在内部将 ID 表示为字符串和 int,但在报告它时,您会将其表示为字符串:XYZ1234,其中 XYZ 是供应商公司名称(字符串),1234 是唯一 ID (int) (可能是人为设计的不好的例子,但它仍然可能会以某种方式改变)/

    将 Supplier 作为类型的真正优势在于,当您创建 Part 的实例时,您将能够使用 Dependancy Injection 将 Supplier 分配给 Part。因此,您的 Part 构造函数应如下所示:

    Part(Supplier supplier)
    {
       _supplier = supplier;
    }
    

    现在您的 Part 类不依赖于 Supplier 类的更改。 IE。它不依赖于它。

    注意:如果您不熟悉依赖注入,Martin Fowler 的这篇文章应该解释一下:

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

    【讨论】:

    猜你喜欢
    • 2016-12-30
    • 2018-06-27
    • 2012-09-10
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2011-03-14
    • 1970-01-01
    相关资源
    最近更新 更多