在Python中,组合和外观是一样的吗?

时间:2013-09-19 21:53:50

标签: python multiple-inheritance mixins composition facade

  1. 在python语境中,组合和外观是相同的东西。我知道使用什么样的外观设计模式,但只是想确保我可以调用我的类,它实现了一个外观,一个组合?

  2. 我是否可以对mixin类说同样的话,或者它只是一个不同的野兽,它们更接近多重继承并解决除了立面之外的其他问题?

  3. 我们可以在Python中松散地调用与Java中的接口相当的组合,或者这个语句完全不合适。

  4. PS:我希望我的应用程序为客户提供标准接口,但在内部确切的实现将随着我们获得更多的开发带宽而不断变化。由于客户端将使用此类进行进一步开发,因此我不希望他们的代码中断,以防我们在实现方面进行任何更改。我想在开始项目之前解决我的行话混乱。

1 个答案:

答案 0 :(得分:2)

如上所述:

  

组合是指一个类包含作为其他类实例的成员。术语Facade通常意味着你在一个类的公共成员后面封装了很多逻辑。所以请注意,如果作曲成员都是公开的,你可以在没有Facade的情况下进行合成。如果没有合成有效,我将不会深入了解Facade的优点,因为那是一个语义迷宫。 BTW组合和接口是两种不同的动物,即使只考虑Java或只考虑Python。