设计模式
文章平均质量分 63
echo6120
这个作者很懒,什么都没留下…
展开
-
【python设计模式】 python设计模式之命令行模式
命令行模式实现命令模式的关键就是让调用者不要包涵底层实际命令执行代码,相同的调用者应该采用相同的接口。 命令模式是由三个组件构成,客户,调用者,接受者。 客户:一个实例化的对象 调用者:决定哪个方法被调用 接受者:实际命令的执行者#coding=utf-8class Switch: ''' The INVOKER class''' def __init__(...原创 2018-03-26 13:53:05 · 379 阅读 · 0 评论 -
【python设计模式】 python设计模式之观察者模式
通俗的讲就是:大V 有任何状态都会通知给粉丝:观察者模式是一个软件设计模式,一个主题对象博包涵一系列依赖他的观察者,自动通知观察者的主题对象的改变,通常会调用每个观察者的一个方法。这个设计模式非常适用于分布式事件处理系统。典型的在观察者模式下:1.发布者类应该包涵如下方法:注册能够接收通知的对象从主对象到注册对象,通知任何变化未注册对象不能够接收任何通知信息2.订购者类应该包涵如下:发布者会调用一...原创 2018-03-24 18:40:17 · 158 阅读 · 0 评论 -
【python设计模式】python设计模式之构建者模式
当我们想要创建一个由多个部分构成的对象,而且他们的构建需要一步接一步的地完成,只有当各个部分都创建好,这个对象才算完整。 -- 这正是 建造者设计模式的用武之地。比如建造一个抽象的类Builder,定义画六个身体部位的方法,每画一种人,就新建一个继承Builder的类,这样新建的类就必须要实现Builder的所以方法,这里主要运用了抽象方法的特性,父类定义了几个抽象的方法,子类必须要实...原创 2020-04-30 11:49:02 · 326 阅读 · 0 评论 -
【python设计模式】python设计模式之工厂模式
本质:根据传入参数的不同,返回对应的不同对象(类似鸡生蛋),方便造对象,但不做任何动作。工厂模式的目的是为了解耦:1.把对象的创建和使用的过程分开。就是Class A 想调用 Class B ,那么A只是调用B的方法,而至于B的实例化,就交给工厂类。2.工厂模式可以降低代码重复。如果创建对象B的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。我们可以这些...原创 2020-04-30 11:48:32 · 279 阅读 · 0 评论 -
【python设计模式】python设计模式之装饰器
一.理论知识:在代码运行期间在不改变原函数定义的基础上,动态给该函数增加功能的方式,称之为装饰器(Decorator)。装饰器是一个很著名的设计模式,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。 总体来说,装饰器其实也是一个函数,...原创 2018-07-04 22:27:49 · 158 阅读 · 0 评论 -
【python设计模式】python设计模式之单例
一个例子理解单例。首先:__new__() 方法的特性:__new__() 方法是在类准备将自身实例化时调用。__new__() 方法始终都是类的静态方法,即使没有被加上静态方法装饰器。继承自object的新式类才有__new__。__new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供。__new__必须要有返回值,返回实例化出来的实例,这点在自己实现...原创 2018-07-02 22:43:22 · 165 阅读 · 0 评论