automobile //inheritance here Engine engine; // car "has a" engine //composition here
但这不是一个门面模式吗那么组合和外观之间的区别是什么呢?
也许我搞错了。外观是一种设计模式,但组合更像是一种可遵循的良好实践。我们可以说使用facade就是在做组合吗?
在我的一个项目中,我在几个地方使用以下模式:我有一个类A和一个指向A实例的指针构造的类B,它只为用户导出这些方法的一个子集(这个用户不是A实例的所有者)。_a->doOtherStuff(); B(A* a) : _a(a) {}};
例如,我的库可以创建一个A实例,B的一个已创建的实例(与A我只是对设计模式名称 of B感到困惑:它是外观、桥、适配器还是代理?还是别的什么?