Python 设计模式

1. 什么是设计模式?

设计模式(design-pattern)是软件开发人员解决某类问题的最佳实践,它经常被有经验的软件开发人员在开发过程中所采用。设计模式是由众多的软件开发人员经过长期的积累,不断试错改进,总结出来的最佳解决方案。

2. 三种最基本的设计模式

  • 创建型模式:提供实例化的方法,为适合的状况提供相应的对象创建方法。
  • 结构型模式:通常用来处理实体之间的关系,使得这些实体能够更好地协同工作。
  • 行为型模式:用于在不同的实体建进行通信,为实体之间的通信提供更容易,更灵活的通信方法。

3. 设计模式六大原则

  • 开闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
  • 里氏替换原则:所有引用基类(父类)的地方必须能透明地使用其子类的对象。
  • 依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。
  • 接口隔离原则:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。
  • 迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用。
  • 单一职责原则:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。

4. 设计模式的结构

python设计模式结构

  • 模式名称: 以简短有效的方式描述了模式。
  • 模式动机: 描述了模式的作用。
  • 模式实用性: 描述了适用模式的情况列表。
  • 参与者与后果: 参与者包括参与设计模式的类和对象,以及该模式存在的后果列表。

5. 常用Python设计模式

Python是一种开源的脚本语言。它具有支持多种设计模式的库。python的语法易于理解,并使用英语关键字。Python提供了对下面提到的设计模式列表的支持。这些设计模式将在教程中进行讲解。

  • 模型-视图-控制器模式
  • 单例模式
  • 工厂模式
  • 建造者模式
  • 原型模式
  • 外观模式
  • 命令模式
  • 适配器模式
  • 装饰模式
  • 代理模式
  • 责任链模式
  • 观察者模式
  • 状态模式
  • 策略模式
  • 模板模式
  • 享元模式
  • 抽象工厂模式
  • 面向对象模式

6. 使用设计模式的好处

  • 模式为开发人员提供了针对特定问题的经过尝试和测试的解决方案的选择。
  • 所有设计模式都是与语言无关的。
  • 模式有助于实现沟通并维护良好的文档。
  • 它包括成就记录,以减少项目的任何技术风险。
  • 设计模式使用起来非常灵活并且易于理解。

下一章:Python MVC模式

Python MVC模式,即模型-视图-控制器模式,也是最常用的设计模式。开发人员发现实现这种设计模式很容易。以下是模型视图控制器的基本架构:现在让我们看看该结构是如何工作的。 1. 模型它由与数据库交互 ...