python的设计模式:23种(创建 5 、结构 7 、行为 11)
如何抽象一个类
创建型:(5种)
1.简单工厂模式 专门设一个类,对输入进行判断选择使用其中一个功能类来执行
2.工厂方法模式 抽象:工厂、产品、定义统一方法。
添加:新工厂、新产品、即可拓展新功能。
3.抽象工厂模式 控制一套产品的组成
4.建造者模式 控制构建产品的 构建顺序细节
4.原型模式
5.单例模式 保证全局只有唯一的实例在运行
结构型:(7种)
1.适配器模式 去国外的时候,手机充电的充电头需要一个适配器。
2.桥模式 使两者的属性进行一个紧密的结合。
例如:要先定义颜色才能绘制直线。
3.组合模式 A组合B=AB,上面例子中实现,就仅仅是AB放入列表中循环打印出来而已
4.装饰模式
5.外观模式 需要加载很多模块,模块的调用方法都是一致的,专门创建一个类来 一口气实例化多个模块
6.享元模式
7.代理模式 远程代理、虚代理、保护代理
远程代理:隐藏自己不在本地的各种细节,使调用者使用时,如同调用本地方法一样,无需考虑如何远程连接服务之类的复杂操作等。
虚代理:为了节省资源消耗,将不必要立即显示的内容,替换为节省资源的内容,例如:原位置为一张图像,替换为,点击后查看。
保护代理:在原功能实现外面加一层保护的类,根据调用者的用户权限,判断他访问的是保护代理类,还是原功能类。
行为模式:(11种)
1.解释器模式
2.责任链模式 无需用户判断谁可以完成当前任务,在功能类中层层递进判断谁可以完成当前任务。
3.命令模式
4.迭代器模式
5.中介者模式
6.备忘录模式
7.观察者模式(发布者、订阅者、模式) 订阅者实时监控发布者的每一条信息,进行接收。发布者内设置订阅者的名单,可以控制应该发给谁,不发谁。
8.状态模式
9.策略模式 需要调用者熟悉策略的内容,自行选择策略。
多种策略,用一个"上下文"控制策略的 执行、切换。
10.访问者模式
11.模板模式 定一个模板框架,让后面的开发都在当前框架下面进行。