风清扬

导航

Python 设计模式之路(一)——设计模式 初识

本节内容

  1. 设计模式是什么?
  2. 如何使用设计模式?
  3. 设计模式与SOLID
  4. "四人帮"的23种设计模式

一、设计模式是什么?

设计模式(Design Pattern)是经过总结、优化的,对我们经常会碰到的一些编程问题的可重用解决方案。1994年,有四位作者:Erich GammaRichard HelmRalph JohnsonJohn Vlissides发表了一本题为《设计模式 - 可重用的面向对象软件元素》的图书,从而软件开发中开创了设计模式的概念。

曾经入的坑

  1. 设计模式高大上。除了名字高大,本质就是对软件领域遇到的问题及处理方法的总结和《21天泡到女神》一路货色
  2. 设计模式代码写不出来。只是想了解设计模式是什么,无需写代码。要和实际代码结合,设计模式不背锅
  3. 设计模式都明白还是不知道怎么用。只知其然,不知其所以然。意思是看了《21天泡到女神》就能泡到女神?给你一本武功秘籍你就是武林高手?

二、如何使用设计模式?

和你得到一个武林秘籍一样,都是从扎马步开始的

阶段一

  1. 拿到需求,打开IDE,一个字"写"
  2. 出了问题,改代码
  3. 想:有没有好的方法少改代码?
  4. 把解决问题的思路记录

阶段二

  1. 拿到需求,一个字"想"
  2. 找难点:哪些曾经做过的,用了什么方法?哪些没有做过
  3. 按照阶段一的方法攻克
  4. 完善笔记,对比设计模式思路

阶段三

  1. 拿到需求,一个字"想"
  2. 找难点,参考笔记攻克
  3. 想:这些代码其他人是不是都写过了?例:数据库,浏览器
  4. 笔记完善,完善笔记:①自己的解决方法②开源社区成熟软件代码

阶段四

  1. 拿到需求,一个字"想"
  2. 哪些需要开发,哪些需要买

 

三、设计模式与SOLID

以泡妞为例:

  • SOLID:应该让对方感觉到你的优点,你的好;不应该泡妞花光你所有的家当;决定结婚前要见家长...
  • 设计模式:参见《21天泡到女神》

一句话:思想形成套路,套路应用实践

 

四、"四人帮"的23种设计模式

1)创建型

特点:

  • 基于对象的创建方式
  • 将对象的创建细节隔离开来
  • 代码与所创建对象的类型无关

内容:

  • 1. Factory Method(工厂方法)
  • 2. Abstract Factory(抽象工厂)
  • 3. Builder(建造者)
  • 4. Prototype(原型)
  • 5. Singleton(单例)

2)结构型

特点:

  • 通过组合获得更大功能的类和对象的结构
  • 简化结构,识别类和对象的关系
  • 主要关注类的继承和组合

内容:

  • 6. Adapter Class/Object(适配器)
  • 7. Bridge(桥接)
  • 8. Composite(组合)
  • 9. Decorator(装饰)
  • 10. Facade(外观)
  • 11. Flyweight(享元)
  • 12. Proxy(代理)

3)行为型:

特征:

  • 关注对象之间的交互及响应性
  • 对象间应该能够交互,同时保持松散的结构

内容:

  • 13. Interpreter(解释器)
  • 14. Template Method(模板方法)
  • 15. Chain of Responsibility(责任链)
  • 16. Command(命令)
  • 17. Iterator(迭代器)
  • 18. Mediator(中介者)
  • 19. Memento(备忘录)
  • 20. Observer(观察者)
  • 21. State(状态)
  • 22. Strategy(策略)
  • 23. Visitor(访问者)

 

posted on 2019-01-28 12:42  卜戈的博客  阅读(118)  评论(0编辑  收藏  举报