装饰器 在函数前后做点事情,比如鉴权、记录日志 将执行的函数传入包装函数,在包装函数内部使用闭包构造包含传入函数的新函数,返回新函数,执行的函数指向新函数 函数编程的开闭原则:对添加开放,对修改关闭 ...
分类:
其他好文 时间:
2017-11-09 14:39:24
阅读次数:
197
备忘录模式设计原则:遵循迪米特、开闭原则常用场景:需要在对象的外部保存该对象的内部状态使用概率:5%复杂度:中变化点:无选择关键点:是否可以在必要的时候捕捉到对象的内部状态逆鳞:大对象的备份主要思想:简单理解就是把对象的变化保存起来进行备份,可以恢复简单实现在每次对象属性变化前把属性存起来,或者暴力... ...
分类:
其他好文 时间:
2017-11-07 18:11:26
阅读次数:
145
状态模式设计原则:遵循单一职责、依赖倒置、开闭原则常用场景:一个对象在多个状态下行为不同,且这些状态可互相转换使用概率:20%复杂度:中变化点:状态的种类选择关键点:这些状态是否经常在运行时需要在不同的动态之间相互转换逆鳞:无相关设计模式策略模式:二者的实现方式非常相似,策略接口与状态接口,具体的策... ...
分类:
其他好文 时间:
2017-11-07 18:08:31
阅读次数:
208
命令模式设计原则:遵循迪米特、开闭原则常用场景:行为的请求者与行为的处理者耦合度过高使用概率:20%复杂度:中高变化点:命令的种类选择关键点:请求者是否不需要关心命令的执行只知道接受者逆鳞:命令的种类无限制增长相关设计模式职责链模式:容易将二者关联在一起的原因是,二者都是为了处理请求或者命令而存在的... ...
分类:
其他好文 时间:
2017-11-07 13:15:41
阅读次数:
158
观测者模式设计原则:遵循迪米特、开闭原则常用场景:需要将观察者与被观察者解耦或者是观察者的种类不确定使用概率:40%复杂度:中变化点:观察者的种类与个数选择关键点:观察者与被观察者是否是多对一的关系逆鳞:观察者之间有过多的细节依赖主要思想:其实比较简单,是发布-订阅形式的,就是类之间的关系,观察者与... ...
分类:
其他好文 时间:
2017-11-03 18:52:57
阅读次数:
129
策略模式设计原则:遵循单一职责、依赖倒置、迪米特、开闭原则常用场景:算法或者策略需要经常替换使用概率:60%复杂度:中变化点:策略的种类选择关键点:客户端是否依赖于某一个或若干个具体的策略逆鳞:无主要思想:实际就是简单的接口实现对外提供一套约定好的方法即接口,然后进行不同的实现一般使用在相差不大的一... ...
分类:
其他好文 时间:
2017-11-03 16:45:20
阅读次数:
147
目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则(6):开闭原则 设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更 ...
分类:
编程语言 时间:
2017-11-03 16:10:50
阅读次数:
272
设计模式的六大原则 开闭原则:模块应尽量在不修改原代码(闭)的情况下进行扩展(开)。即在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 里氏代换原则:如果调用的是父类的话,那么换成子类也完全可以运行。 派生类能够在基类的基础上增加新的行为。只有当派生类可以替换掉基类,且软件单位 ...
分类:
其他好文 时间:
2017-11-02 21:14:20
阅读次数:
254
适配器模式设计原则:遵循开闭原则、体现功能复用常用场景:需要使用一个类的功能,但是该类的接口不符合使用场合要求的接口,可使用定制适配器,又或者是有一个接口定义的行为过多,则可以定义一个缺省适配器,让子类选择性的覆盖适配器的方法使用概率:40%复杂度:中变化点:无选择关键点:定制适配器的选择关键点在于... ...
分类:
其他好文 时间:
2017-11-02 13:12:32
阅读次数:
139
1.单一职责原则 Single Respoonsibility Principle(SRP) --封装 2.开闭原则 Open Close Principle(OCP)--对扩展开放,对修改封闭 3.里式替换原则 Liskov Substitution Principle(LSP)--所有引用基类的 ...
分类:
移动开发 时间:
2017-10-30 14:59:16
阅读次数:
167