```python def singleton(cls): instances = {} def wrapper(*args, **kwargs): if cls not in instances: instances[cls] = cls(*args, **kwargs) return insta... ...
分类:
编程语言 时间:
2020-04-03 20:25:21
阅读次数:
172
基本定义 装饰者模式属于 结构型模式 ,它可以 动态的 将新功能 附加到对象上 ,同时又 不改变其结构 。在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(OCP)。 模式结构 装饰者和被装饰者有 相同的超类型 ,因为装饰者和被装饰者必须是一样的类型, 利用继承是为了达到类型的匹配, ...
分类:
其他好文 时间:
2020-04-03 16:37:14
阅读次数:
57
在案例中经常需要实现这样一种功能,我们先获取到用户的微信头像,然后给用户的头像添加一些装饰的图案并制作出一张新的图片,最后还可以让用户下载下来作为自己的微信头像。今天就结合“给我一面五星红旗”这个demo讲一讲这种案例该如何实现。1.首先搭建一个比较简单的界面,主体是一个画布,在画布里添加两个图片组件,一张用来显示当前用户的头像,另一张小图就是展示小国旗。还需要添加一个横幅,横幅里面放置一个图片组
分类:
微信 时间:
2020-04-03 00:25:57
阅读次数:
193
概念 单例模式是一种常用的软件设计模式,单例模式给出了一种特有的定义,即在程序运行中某个类的实例是保持不变的。她的意义主要是在程序运行中对一些特有的数据做一些基础的构建,比如整个系统的底层数据支持,这种就可以通过单例模式来实现。下面介绍一下她在python中的几种实现方式。 装饰器方式 这种实现方式 ...
分类:
其他好文 时间:
2020-04-01 09:15:42
阅读次数:
64
一、装饰模式的定义 装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。 二、装饰模式优缺点 装饰(Decorator)模式的主要优点有: 采用装饰模式扩展对象的功能比采用继承方式更加灵活。 可以设计出多个 ...
分类:
其他好文 时间:
2020-03-31 09:13:56
阅读次数:
94
一.闭包函数 一个函数在另一个函数体内,就是嵌套函数 我把一个函数叫做内部函数,另一个函数叫做外部函数 内部函数可以调用外部函数所有的变量和参数这就叫做闭包函数 1.第一种给给函数传值 传参 # def my_len(x): # print(x) # # n = 0 # # for i in x: ...
分类:
其他好文 时间:
2020-03-30 11:21:25
阅读次数:
67
"设计原则" "装饰模式" "动态代理" "命令模式" 设计原则 开闭原则、里氏替换原则、依赖倒转原则、接口隔离原则、最少知道原则、单一职责原则、合成复用原则 开闭原则 对修改关闭,对扩展开发。 里氏替换原则 子类可以扩展父类的功能,但是不能改变父类原有的功能。比如子类可以覆盖父类的抽象方法(抽象方 ...
分类:
其他好文 时间:
2020-03-30 00:29:18
阅读次数:
86
@property作用: python的@property是python的一种装饰器,是用来修饰方法的。 我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。 1.修饰方法,让方法可以像属性 ...
分类:
编程语言 时间:
2020-03-29 10:53:26
阅读次数:
85
在学习函数装饰器前,首先要学习高阶函数+函数嵌套+闭包 高阶函数 只要满足下列条件之一就是一个高阶函数: 1.函数接收的参数是一个函数名 2.函数的返回值是一个函数名 第一种情况:接收的参数是一个函数名 1 def foo1(name): 2 return name() 3 def foo2(): ...
分类:
编程语言 时间:
2020-03-28 23:09:17
阅读次数:
84
讲 Python 装饰器前,我想先举个例子,虽有点污,但跟装饰器这个话题很贴切。 谈装饰器前,还要先要明白一件事,Python 中的函数和 Java、C++不太一样,Python 中的函数可以像普通变量一样当做参数传递给另外一个函数,例如: 先来看一个简单例子,虽然实际代码可能比这复杂很多: 说到这 ...
分类:
编程语言 时间:
2020-03-27 21:48:42
阅读次数:
93