设计模式
生有涯,知无涯
登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。
展开
-
Python设计模式——工厂模式
1.前言工厂模式,顾名思义就是我们可以通过一个指定的“工厂”获得需要的“产品”,在设计模式中主要用于抽象对象的创建过程,让用户可以指定自己想要的对象而不必关心对象的实例化过程。这样做的好处是用户只需通过固定的接口而不是直接去调用类的实例化方法来获得一个对象的实例,隐藏了实例创建过程的复杂度,解耦了生产实例和使用实例的代码,降低了维护的复杂性。2.简单工厂首先,我们先看一个简单工厂的例子:#...原创 2019-10-12 14:50:59 · 333 阅读 · 0 评论 -
由Python外观设计模式引入设计原则之——迪米特法则
1.引言2. 迪米特法则迪米特法则又称最少知识原则(least knowledge principle)简称LKP。意思是说一个对象应该对其他对象有尽可能少的了解,不和陌生人说话。迪米特法则的一个解释是(talk only to your immediate friends)。只与直接朋友对话。什么是直接朋友呢。两个类有耦合就是朋友关系。直接朋友,我的理解是类之间是通过参数调用产生关...原创 2019-10-12 10:45:23 · 477 阅读 · 0 评论 -
Python设计模式——外观模式
外观模式1.外观模式定义外观模式:外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。2.外观模式的核心外观模式的核心在于将复杂的内部实现包装起来,只向外界提供简单的调用接口。类似现实世界中的电脑,开机按钮可以说就是一个简单的调用接口,帮...原创 2019-09-17 11:46:40 · 643 阅读 · 0 评论 -
Python设计模式——解释器模式
1.解释器模式的定义解释器模式定义如下:给定一种语言,定义它的文法表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。典型的解释器模式中会有终结符和非终结符之说,语法也根据两种终结符,决定语句最终含义。2.解释器模式的优点和应用场景优点:1、在语法分析的场景中,具有比较好的扩展性。规则修改和制订比较灵活。缺点:1、解释规则多样化会导致解释器的爆炸;2、解释器目标比较单一...原创 2019-09-17 14:52:29 · 216 阅读 · 0 评论 -
Python设计模式——状态模式
1.说明在软件开发过程中,各种应用程序可能会根据不同的情况做出不同的处理。最直接的方案就是把所有的可能发生的情况都考虑到。然后使用条件语句if-elif-else对不同情况的作出判断并进行处理。但是假如状态比较复杂,就会出现多个判断语句,判断语句中又包含这各种操作,这显然是不受欢迎的。状态模式的出现就是为了解决这种问题。状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题,将一...原创 2019-10-11 18:17:18 · 264 阅读 · 1 评论