【问题标题】:modeling composition and expose inner interface建模组合并暴露内部界面
【发布时间】:2013-05-11 04:07:39
【问题描述】:

我需要模拟这样的东西,

ClassA实现接口IClass;

ClassB实现接口IClass;

ClassA 有一个 ClassB(组合);

但是 ClassA 的接口与 ClassB 的接口相同,即我需要将 ClassB 的接口暴露为 ClassA 的接口。我是这样弄的,

                                 +--------------+
                                 |              |
                        +-------->    IClass    <---------+
                        |        |              |         |
                        |        +--------------+         |<<implements>>
          <<implements>>|                                 |
                        |                                 |
                        |                                 |
                  +-----+-------+                 +-------+-------+
                  |             |+                |               |
                  |   ClassA    +++---------------+    ClassB     |
                  |             |+  <<has a>>     |               |
                  +-------------+                 +---------------+

但我不确定这个模型是否正确。我该如何改进/修复这个模型?

【问题讨论】:

    标签: modeling composition uml


    【解决方案1】:

    看到模型我明白了:

    public class ClassA implements IClass {/* class implementation here */}
    public class ClassB implements IClass {
        public ClassA a; //Or private field with getter and setter.
        /* rest of class implementation */
    }
    

    如果这是您的代码,则模型 100% 正常。

    另外(因为 UML 旨在更好地理解)如果 ClassB 使用 ClassA 字段作为帮助器来实现 IClass 接口(通过委托一些方法),那么您可以在 UML 注释中注明。

    【讨论】:

      猜你喜欢
      • 2021-08-30
      • 2019-07-22
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多