装饰器 定义: 用来装饰的工具 在不改变源代码及调用方式的基础上额外增加新的功能 开放封闭原则: 扩展是开放的(增加新功能) 修改源码是封闭的(修改已经实现的功能) 版一: 版二: 版三(初识版装饰器): 版四(第二版装饰器): low版 高级版: 标准版: 语法糖 语法糖必须放在被装饰的函数正上方 ...
分类:
其他好文 时间:
2019-07-25 21:44:23
阅读次数:
98
21.闭包 1. 闭包:在嵌套函数内,使用非全局变量(且不使用本层变量) 2. 闭包的作用:1.保证数据的安全性(纯洁度)。2.装饰器使用 3. ._\_closure\_\_判断是否是闭包 22.装饰器一(入门) 1.一个装饰器装饰多个函数 开放封闭原则:扩展是开放的(增加新功能),源码是封闭的( ...
分类:
编程语言 时间:
2019-07-25 00:54:25
阅读次数:
131
1.装饰器 1. 1开放封闭原则 ? 我们的软件一旦上线之后(比如你的软件主要是多个函数组成的),那么这个软件对功能的扩展应该是开放的,比如你的游戏一直在迭代更新,推出新的玩法,新功能。但是对于源代码的修改是封闭的。你就拿函数举例,如果你的游戏源代码中有一个函数是闪躲的功能,那么你这个函数肯定是被多 ...
分类:
其他好文 时间:
2019-07-24 15:02:37
阅读次数:
70
装饰器 开放封闭原则: 扩展是开放的(增加新功能) 修改源码是封闭(修改已经实现的功能) 在不改变源码及调用方式的基础上额外增加新的功能 装饰器 用来装饰的工具 版一 版二 版三 low版 高级 语法糖 ——— 甜 语法糖必须放在被装饰的函数正上方 func = wrapper(func) func ...
分类:
其他好文 时间:
2019-07-23 16:41:22
阅读次数:
92
最理想的状态(或者目的)是软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的。 1.栗子 2.如果需要增加一个新的日志方式(比如数据库,服务等),怎么办?当然这段代码也违背了单一职责原则。 3.如果以上述的方式进行设计,那么新的需求加入,即可如下实现。 参考:https:/ ...
分类:
其他好文 时间:
2019-07-18 16:43:46
阅读次数:
115
1."""闭包函数 1.闭:定义在函数内部的函数 2.包:内部函数引用了外部函数作用域的名字"""2.装饰器简介"""装饰器: 器:就是一个工具 装饰:给被装饰对象添加新的功能 为什么要用装饰器 开放封闭原则: 开放:对扩展开放 封闭:对修改封闭 装饰器(可调用对象)必须遵循的两个原则: 1.不改变 ...
分类:
其他好文 时间:
2019-07-16 00:34:04
阅读次数:
132
1.1 装饰器 1.1.1 开放封闭原则: 对扩展开放,对修改是封闭 1.1.2 装饰器: 装饰它人的,器指的是任意可调用对象,现在的场景装饰器-》函数,被装饰的对象也是-》函数 1.1.3 原则: 1、不修改被装饰对象的源代码 2、不修改被装饰对象的调用方式 1.1.4 装饰器的目的: 在遵循1, ...
分类:
其他好文 时间:
2019-07-15 19:58:20
阅读次数:
115
工厂模式: 预备知识:·单一职责原则:两个类A和B,A与B的关系有两种:1.A创建B;2.A使用B。工厂模式是为了让A和B的关系只能是其中一种,而不能两种关系都有。将对象的创建和使用分离,也使得系统更加符合“单一职责原则”,有利于对功能的复用和系统的维护; ·开放—封闭原则: 开放封闭原则主要体现在 ...
分类:
其他好文 时间:
2019-07-12 15:48:42
阅读次数:
106
参考出处:https://www.cnblogs.com/zhili/p/DesignPatternSummery.html 类设计的几个原则 单一职责原则、开放封闭原则、里氏代替原则、依赖倒置原则、接口隔离原则、合成复用原则和迪米特法则。 1.单一职责原则 就一个类而言,应该只有一个引起它变化的原 ...
分类:
其他好文 时间:
2019-07-09 00:15:41
阅读次数:
121
装饰器函数 开发封闭原则(先从别人偷来一波好文章,简单易懂) 什么是开放封闭原则?有的同学问开放,封闭这是两个反义词这还能组成一个原则么?这不前后矛盾么?其实不矛盾。开放封闭原则是分情况讨论的。 我们的软件一旦上线之后(比如你的软件主要是多个函数组成的 ...
分类:
其他好文 时间:
2019-07-04 00:38:28
阅读次数:
82