【问题标题】:Correct UML diagram for dependency injection依赖注入的正确 UML 图
【发布时间】:2016-07-26 08:09:24
【问题描述】:

我有以下课程:

public interface IRule { void Execute(int i); }
public interface IRule1 : IRule { }
public interface IRule2 : IRule { }
public interface IRuleExecutor { void Execute(int i) }

public class Rule1 : IRule1 { public void Execute(int i) { } }
public class Rule2 : IRule2 { public void Execute(int i) { } }

public class RuleExecutor : IRuleExecutor
{
    private ICollection<IRule> allRules;

    public RuleExecutor(ICollection<IRule> rules)
    {
        this.allRules = rules;
    }

    public void Execute(int i) { }
}

在 UML 类图中显示这些类(尤其是 RuleExecutor 和规则之间的关系)的正确方法是什么?

提前致谢

【问题讨论】:

    标签: c# .net uml


    【解决方案1】:

    有几个选项,但这是我的建模方式:

    我没有明确地为 ICollection 建模。它由 IRule 一侧的多重性“*”隐式表示。一条规则可以与多个 RuleExecutor 相关联,因此我也在 RuleExecutor 的旁边加上了一个星号。 关联是从 RuleExecutor 指向 IRule,因为 RuleExecutor 有对 IRule 的引用,但反之则不然。

    【讨论】:

    • 我刚刚添加了“-allRules”。
    • 我有一个问题:为什么从Rule1到IRule1的线是虚线,而从IRule1到IRule的线不是?
    • 虚线是Realization,实线是Generalization。
    猜你喜欢
    • 1970-01-01
    • 2020-05-11
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多