装饰器,正如所描述的 就是为了给别的函数进行装饰(添加新的功能),其本来也是函数. 软件开发中的一个原则“开放-封闭”原则,简单来说,它规定已经实现的功能代码不允许被修改,但可以被扩展.装饰器在这时候就派的上. ...
分类:
编程语言 时间:
2018-02-26 23:12:34
阅读次数:
206
python3 装饰器 一、闭包 闭包的两个条件:函数内套有内层函数;内层函数引用外层函数定义的变量。 eg: def outer(): x=10 def inner(): print(x) return inner 二、装饰器 装饰器是为了在不改变原先函数源码的前提下,增加功能而存在的。执行流程: ...
分类:
编程语言 时间:
2018-02-24 22:01:11
阅读次数:
153
def max(x,y): m = x if x > y else y return m def max1(a,b,c,d): res1 = max(a,b) res2 = max(res1,c) res3 = max(res2,d) return res3 print(max1(23,-7,31, ...
分类:
其他好文 时间:
2018-02-23 00:24:12
阅读次数:
203
1.遵循单一职责原则 一个类只专注于做一件事; 高内聚,低耦合; 2.开放-封闭原则 对拓展开放,对修改关闭(尽可能不动原有代码进行拓展); 高内聚,低耦合; 为达到目的,需对系统进行抽象化设计(关键); UML举例: 3.里氏代换原则(LSP) 子类必须能够替换它们的基类型,基类与子类可互换,客户 ...
分类:
编程语言 时间:
2018-02-11 14:48:26
阅读次数:
183
1.开放封闭原则 简单来说,就是 在面向对象的编程方式中,经常会定义各种函数。 一个函数的使用分为定义阶段和使用阶段,一个函数定义完成以后,可能会在很多位置被调用 这意味着如果函数的定义阶段代码被修改,受到影响的地方就会有很多,此时很容易因为一个小地方的修改而影响整套系统的崩溃, 所以对于现代程序开 ...
分类:
编程语言 时间:
2018-02-10 13:59:13
阅读次数:
167
开放封闭原则 1.对扩展是开放的 为什么要对扩展开放呢? 我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改。所以我们必须允许代码扩展、添加新功能。 2.对修改是封闭的 为什么要对修改封闭呢? 就像我们刚刚提到的,因为我们写的一个函数,很有可能已经交付给其他人使用 ...
分类:
编程语言 时间:
2018-02-06 01:09:42
阅读次数:
216
1. 开放封闭原则 1.对扩展是开放的 为什么要对扩展开放呢? 我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改。所以我们必须允许代码扩展、添加新功能。 2.对修改是封闭的 为什么要对修改封闭呢? 就像我们刚刚提到的,因为我们写的一个函数,很有可能已经交付给其他 ...
分类:
其他好文 时间:
2018-02-05 21:50:09
阅读次数:
205
一。开放封闭原则 1.对扩展是开放的 任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改。所以我们必须允许代码扩展、添加新功能。 2.对修改是封闭的 比如我们写的一个函数,很有可能已经交付给其他人使用了,如果这个时候我们对其进行了修改,很有可能影响其他已经在使用该函数的用 ...
分类:
编程语言 时间:
2018-02-05 20:11:58
阅读次数:
171
七中设计原则 设计模式(面向对象)有七大原则,分别是: 1.开放-封闭原则 2.里氏代换原则 3.单一职责原则 4.接口隔离原则 5.依赖倒转原则 4.迪米特法则(也称为最小知识原则) 6.合成/聚合复用原则 一、开闭原则:概念:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。模块应该尽量在 ...
分类:
其他好文 时间:
2018-01-15 00:22:49
阅读次数:
142
举个栗子,如果不是邓小平提出一国两制的思想,香港澳门不会那么顺利回归。 原因主要是大陆的社会主义制度不能修改,而香港澳门长期在资本主义制度下管理和发展,所以回归时强行修改香港澳门的制度也不合理,所以用“一国两制”来解决制度差异造成的矛盾是最合理的办法。 在软件设计模式中,这种不能修改,但可以扩展的思 ...
分类:
其他好文 时间:
2018-01-13 23:40:04
阅读次数:
196