正确的依赖注入 UML 图
Correct UML diagram for dependency injection
我有以下 classes:
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 class 图中显示这些 classes(尤其是 RuleExecutor 和规则之间的关系)的正确方法是什么?
提前致谢
有多种选择,但这是我的建模方式:
我还没有为 ICollection 明确建模。它由 IRule 一侧的多重性“*”隐式表示。一个规则可以与多个 RuleExecutor 相关联,所以我也在 RuleExecutor 旁边放了一个星号。
该关联是从 RuleExecutor 指向 IRule,因为 RuleExecutor 有对 IRule 的引用,但反之则不行。
我有以下 classes:
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 class 图中显示这些 classes(尤其是 RuleExecutor 和规则之间的关系)的正确方法是什么?
提前致谢
有多种选择,但这是我的建模方式:
我还没有为 ICollection 明确建模。它由 IRule 一侧的多重性“*”隐式表示。一个规则可以与多个 RuleExecutor 相关联,所以我也在 RuleExecutor 旁边放了一个星号。 该关联是从 RuleExecutor 指向 IRule,因为 RuleExecutor 有对 IRule 的引用,但反之则不行。