python singleton design pattern decorate baseclass metaclass import module super() 一、A decorator 当用MyClass() 去创建一个对象时这个对象将会是单例的。MyClass 本身已经是一个函数。不是一个 ...
分类:
编程语言 时间:
2017-10-23 18:35:25
阅读次数:
269
Decorator模式又叫装饰者模式,这种模式是为了满足Java开发的“面向扩展开放,面向修改闭源”的开发原则设计出来的。 在装饰者模式中,不修改源类的代码,却能修改源类中方法的功能。下面就以Angelababy化妆为例,详细介绍一下为什么需要装饰者模式,以及装饰者模式怎么实现: 先介绍angela... ...
分类:
其他好文 时间:
2017-10-18 00:15:01
阅读次数:
188
装饰者模式:(动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性) 其别名为包装器(Wrapper);装饰模式是一种对象结构模式。 设计原则:对扩展开放、对修改关闭,这句话体现在我如果想扩展被装饰者类的行为,无须修改装饰者抽象类;只需继承装饰者抽象类,实现额外的一些装饰或者叫行为即可对 ...
分类:
其他好文 时间:
2017-10-15 22:30:23
阅读次数:
236
一、装饰器 一、装饰器的知识储备 1、可变长参数 :*args和**kwargs 2、函数对象:被当做数据传递 3、名称空间和作用域 二、闭包函数 1、定义 2、实例 1 x = 1 2 def f1(): 3 x=111111111111 4 def f2(): #f2是闭关函数 5 print( ...
分类:
其他好文 时间:
2017-10-07 16:24:07
阅读次数:
185
关于装饰器的更多信息可以参考http://egon09.blog.51cto.com/9161406/1836763 1.装饰器Decorator装饰器:本质上是函数,(装饰其他函数),就是为其他函数添加附加功能 原则:不能修改被装饰函数的源代码;不能修改被装饰函数的调用方式#实现装饰器的知识储备:... ...
分类:
编程语言 时间:
2017-10-06 17:31:53
阅读次数:
161
在vscode中使用es7的新语法decorator会报错,如图: 这是错误来自与vscode的JS support,只要在项目根目录下创建一个jsconfig.json文件,添加如下内容: 添加好了有可能需要重启才能生效。 github原issue: https://github.com/Micr ...
分类:
其他好文 时间:
2017-10-02 13:07:31
阅读次数:
144
Decorator Pattern(装饰器模式),定义:Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for ...
分类:
编程语言 时间:
2017-10-01 22:59:08
阅读次数:
223
1、工厂方法模式(Factory Method) 2、抽象工厂模式(Abstract Factory) 3、单例模式(Singleton) 4、建造者模式(Builder) 5、原型模式(ProtoType) 6、适配器模式(Adapter) 7、装饰模式(Decorator) 8、代理模式(Pro ...
分类:
其他好文 时间:
2017-10-01 14:48:49
阅读次数:
188
CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。 1 2 3 4 5 6 7 8 9 ''' selector { property: value; property: value; ... property: value } ''' 1 2 3 4 5 6 7 8 9 ...
分类:
Web程序 时间:
2017-09-29 23:09:34
阅读次数:
255
看廖雪峰官网的python3装饰器有感
装饰器即将一个函数作为变量在新的函数中调用此函数。
作业:
能否写出一个@log的decorator,使它既支持:
@logdeff():
pass
又支持:
@log(‘execute‘)deff():
pass
例1:
importfunctools
importtime
deflog(*args,**kwargs):#*args是个..
分类:
编程语言 时间:
2017-09-20 16:33:38
阅读次数:
261