设计模式是面向对象设计领域经久不衰的话题。它虽然不是银弹,但要设计一个可维护、可扩展的系统,经过前人验证后的设计模式能给设计者提供巨大的帮助。

最初学习的设计模式是Java版的,现在转到了Python。Python是一门很简洁的语言,许多复杂的功能往往只需要安装一个第三方包,然后写一个函数便可实现自己想法,非常方便。但当我试图用Python写一个可扩展的系统时(能爬取全国各省企业的信用信息的系统),遇到了很大的麻烦。开始只是使用函数以及模块实现功能,本来还有种回到了刚写代码时写C语言头文件和函数的亲切感,但代码越写越多时——因为需要对每一个省的验证码进行分析破解以及对索引列表信息、详细信息的爬取——一种深深的无力感就袭来了。我知道,面向过程已经不管用了。于是开始用起了Python中的面向对象进行封装。

在开始使用面向对象的时候,自然而然地就想到了设计模式。于是在网上找了找资料,意外地Github上找到了一群外国大牛(项目贡献者们)开源的一个Python设计模式项目。所以,就有了这一系列文章。代码就不客气地Github这个开源项目的代码。开源项目的地址在此 https://github.com/faif/python-patterns

文章索引:

  1. Factory Method - 工厂方法模式