关于几种设计模式

https://python-3-patterns-idioms-test.readthedocs.io/en/latest/PatternConcept.html

什么是设计模式?

  设计模式是一套被反复使用,多数人知道,经过分类编目的代码设计经验总结。

  使用设计模式是为了提高代码可重用性,可阅读性,和可靠性。

 

你说理解的设计模式有几种?

  设计模式又可分为三种:创建型(单例模式)(工厂模式),结构型,行为型(策略模式)

  单例模式以及应用场景:

  (1)确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,单例模式是一种对象创建型模式。Windows的Task Manager(任务管理器)、Recycle Bin(回收站)、网站计数器

  (2)单例模式应用的场景一般发现在以下条件下:

    资源共享的情况下,避免由于资源操作时导致的性能或损耗等。如上述中的日志文件,应用配置。控制资源的情况下,方便资源之间的互相通信。如线程池等

    要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。

  工厂模式:

    提供一个创建对象的接口,不像客户端暴露创建对象的过程,而是使用一个公共的接口来创建对象。

    可以分为三种:简单工厂  工厂方法   抽象工厂

 

 一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。

  策略模式:

    在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。

    要点:把一个个策略,也就是算法封装成一个一个类,任意的替换

    解决的问题:避免多个if....else带来的复杂

    使用场景:系统中需要动态的在集中算法中动态的选择一种,

         一个对象有很多行为,如果么有选择合适的设计模式,这些行为就需要用多重的条件判断来实现算法的切换,增加了代码的复杂度。

 

 

 

 

 

 

 

 

posted @ 2018-10-04 17:06  Python_Boy  阅读(579)  评论(0编辑  收藏  举报