策略模式

介绍

就是能够把一系列“可互换的”算法封装起来,并根据用户需求来选择其中一种。
我们可以通过这种模式将一个父类中会变化的部分提取并封装起来,以便此后可以轻易地改变或者扩展这部分,而不影响其他部分。

阅读全文 »

给你一个正整数的数组 A(其中的元素不一定完全不同),请你返回可在 一次交换(交换两数字 A[i] 和 A[j] 的位置)后得到的、按字典序排列小于 A 的最大可能排列。

阅读全文 »

python 的可变参数

在python中,通过***接收可变参数,分别表示 tupledict,获取到值如果想以原参数传回 指定函数,也需要加上***

阅读全文 »

访问者模式

介绍

它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。

阅读全文 »

模板模式

介绍

一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。

阅读全文 »

观察者模式

介绍

定义对象间的一种一对多的依赖关系 ,当一个对象的状态发生改变时 , 所有依赖于它的对象都得到通知并被自动更新。

阅读全文 »

备忘录模式

介绍

在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。简单来说在运行过程中我们可以记录某个状态,当遇到错误时恢复当前状态,这在业务流程中是用设计来处理异常情况。

阅读全文 »