【问题标题】:How is dependency in class diagram类图中的依赖关系如何
【发布时间】:2013-04-18 20:41:49
【问题描述】:

我在类图中的依赖项有问题。 我使用这些类

数据和类算法

类之间有什么关系? 谢谢你的帮助

数据.cs =>

public class Data {

     public string Data1 { get; set; }
     public string Data2 { get; set; }


     public Data(string data1, string data2)
     {
         this.Data1 = data1;
         this.Data2 = data2;
     }

     public string data1data2()
     {
         return Data1 + " " + Data2;
     }
 }

算法.cs =>

public static class Algorithm
{

  public static void MethodData()
  {
     List<Data> data = new List<data>();

     data.Add(new Data("aaaa", "bbb"));
     .
     .
     foreach(Data item in data)
     {
        Console.WriteLine(item.data1data2());
     }
     .  
   }         
}

【问题讨论】:

    标签: class dependencies uml class-diagram


    【解决方案1】:

    算法与数据是一对多的关系。这可以通过包含数据列表(许多)的字段的存在来看出。一种算法知道许多数据对象。

    数据与算法没有任何关系,因为它没有任何算法类型的字段。因此,通常人们会使用 Algorithm 中指向 Data 对象的箭头来绘制关系。

    这可能会有所帮助:Direction of the association arrow in UML class diagrams

    【讨论】:

    • 感谢您的帮助,但是如何称呼这种关系呢?协会?聚合?依赖?
    • 依赖很简单,如果一个类没有另一个类就不能生存(即编译或运行),那么它就依赖于另一个类。所以 Algorithm 对 Data 有依赖,而 Data 对 Algorithm 没有依赖。仅看代码无法回答关联/聚合的问题。这种区别在于设计师如何看待这种关系。一个订单非常清楚地聚合了 LineItem,而一个人可能只与他/她的车辆相关联。问题是算法是数据的容器还是只是知道它的东西?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 2019-03-12
    • 1970-01-01
    相关资源
    最近更新 更多