我正在学习GoF设计模式,特别是外观模式。我理解其用途和实现,但我对其UML模型有疑问。 我的教授提出的解决方案可以概括如下:
public class Facade{
private ClassA c1;
private ClassB c2;
private ClassC c3;
public Facade(){
this.c1 = new ClassA;
this.c2 = new ClassB;
this.c3 = new ClassC;
}
public void FacadeMethod(){
...
c1.operationA();
c2.operationB();
c3.operationC();
...
}
}
所提出的UML模型如下: 外观类(Facade Class)与ClassA、ClassB、ClassC类有关联关系。但是,这些应该是聚合关系吗?外观类(Facade Class)具有对ClassA的引用c1,对ClassB的引用c2和对ClassC的引用c3,因此我认为这是一种“拥有”关系。您有什么想法?