第9章 常见设计模式
设计模式最初由著名的四人组(Gang of Four,GoF)在其著作Design Patterns: Elements of Reusable Object-Oriented Software中提出,自此以后这个主题在软件工程领域得以广泛传播。设计模式可以帮助解决常见的问题,这是使用适合特定场景的抽象实现的。在实现正确的情况下,设计模式可以改善解决方案的总体设计。
本章介绍一些常见的设计模式,但不涉及如何在特定情况下应用现成的设计模式,而分析设计模式对编写整洁代码有何帮助。给出实现设计模式的解决方案后,我们将进行分析,指出如果最初选择了不同的路径,最终的实现更好。
通过这样的分析,你将明白如何在Python中具体地实现设计模式。这将让你意识到,Python 的动态特征使得设计模式的 Python 实现与静态类型语言实现之间存在一些差异(很多设计模式都源自静态类型语言)。这意味着Python中的设计模式有一些独特之处。在有些情况下,如果试图应用并不适用的设计模式,编写出的代码将不符合Python的语言习惯。
本章涵盖如下主题。
● 常见设计模式。
● 在Python中不适用的设计模式及其符合Python语言习惯的替代解决方案。
● 以符合Python语言习惯的方式实现常见的设计模式。
● 优良的抽象是如何自然而然地演变成模式的。
通过前面的学习,你现在能够从较高的层级对设计进行分析,同时从详细实现的角度思考(如何使用Python特性以效率最高的方式编写代码)。
本章讨论如何使用设计模式让代码更整洁,我们先来说说在Python中使用设计模式时需要注意的事项。
9.1 在Python中使用设计模式时需要注意的事项
面向对象的设计模式属于软件构建理念,在处理问题模型时经常能派上用场。设计模式是高层次的理念,不与特定的编程语言挂钩,而是有关应用程序中对象如何交互的通用概念。当然,设计模式也包含实现细节,这些细节随使用的语言而异,并非设计模式的精髓所在。 ...
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.