2
  1. 在 python 上下文中,组合和外观是相同的东西。我知道外观设计模式用于什么,但只是想确保我可以调用我的类,它实现了外观,组合?

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

  3. 我们是否可以将 Python 中的组合松散地称为 Java 中的接口,或者这种说法完全不合适。

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

4

1 回答 1

2

如上所述:

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

于 2014-10-01T19:50:05.363 回答