这章延续上一章节的内容,继续讨论函数。这里探讨使用一等函数来实现设计模式。

设计模式是当年红极一时的概念,现在也是余威犹存。因为它反应了软件领域一些本质性的有效表达结构。不过滥用设计模式的情况也是很多的。当年很多人学了设计模式,不是根据实际需要采用,而是不管三七二十一,先写上一堆设计模式,硬去套在项目上,结果可想而知。

本章开头就提到:设计模式虽然与语言无关,但是很明显在一些动态语言里面,不少设计模式是不需要的,消失了。

首先,它讨论了策略模式的优化案例。策略模式在传统面向对象语言里面,是通过继承操作的。具体策略继承一个抽象策略,调用者通过调用抽象策略类型的对象基类,再使用多态来达到目的。可是对于Python这种语言而言,绕远了,没必要。直接使用函数传递,更加简单明了。

同样,对于command模式,也是一个道理,没必要通过继承实现,直接扔过去一个函数体去执行就好了。

 

流畅的Python-Fluent Python读书笔记-07-函数装饰器和闭包
流畅的Python-Fluent Python读书笔记-05-一等函数