第4章 门面模式——与门面相适

在上一章中,你已经学习了工厂设计模式。并讨论了该模式的3种变体——简单工厂、工厂方法和抽象工厂模式。此外,你还学习了如何将它们应用于现实世界,并给出了相应的Python实现。我们还将工厂方法与抽象工厂模式进行了一番比较,并列出了其优缺点。我们知道,无论工厂设计模式还是单例设计模式(参见第2章),都属于创建型设计模式。

在这一章中,我们继续学习另外一种类型的设计模式,即结构型设计模式。这里,我们要介绍的是门面设计模式,以及如何将其应用于软件应用程序开发。我们将提供一个示例,并通过Python v3.5实现了该示例。

简而言之,我们将在本章中讨论下列主题:

  • 结构型设计模式概要;
  • 利用UML图理解门面设计模式;
  • 提供了Python v3.5实现代码的真实用例;
  • 门面模式与最少知识原则。

以下几点将有助于我们更好地了解结构型设计模式。

  • 结构型模式描述如何将对象和类组合成更大的结构。
  • 结构型模式是一种能够简化设计工作的模式,因为它能够找出更简单的方法来认识或表示实体之间的关系。在面向对象世界中,实体指的是对象或类。
  • 类模式可以通过继承来描述抽象,从而提供更有用的程序接口,而对象模式则描述了如何将对象联系起来从而组合成更大的对象。结构型模式是类和对象模式的综合体。

下面给出结构型设计模式的几个例子。你会注意到,它们都是通过对象或类之间的交互来实现更高级的设计或架构目标的。

下面是一些结构型设计模式的例子。

  • 适配器模式:将一个接口转换成客户希望的另外一个接口。它试图根据客户端的需求来匹配不同类的接口。
  • 桥接模式:该模式将对象的接口与其实现进行解耦,使得两者可以独立工作。
  • 装饰器模式:该模式允许在运行时或以动态方式为对象添加职责。我们可以通过接口给对象添加某些属性。 ...

Get Python设计模式(第2版) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.