
设计模式
柳叶吴钩
叶底藏花一度,梦里踏雪几回
展开
-
Python的结构型设计模式(四) 装饰器模式
4 装饰器模式修饰器是单个参数的函数,其参数也是函数,修饰器返回的新函数与经由参数传入的原函数名称相同,但功能更强。4.1 函数修饰器与方法修饰器4.2 类修饰器...原创 2019-10-21 00:22:32 · 182 阅读 · 0 评论 -
Python的结构型设计模式(三)组合模式
3 组合模式用来统合类体系中的两种对象:一种对象能够包含体系中的其他对象,另一种不能。前者叫做组合体,后一种叫做非组合体。两者统称组件。...原创 2019-10-21 00:16:53 · 185 阅读 · 0 评论 -
Python 的行为型设计模式(二) 桥接模式(未完待续)
2 桥接模式3 组合模式4 装饰器模式5 外观模式6 享元模式7 代理模式原创 2019-07-15 00:27:36 · 142 阅读 · 0 评论 -
Python 的行为型设计模式(一) 责任链模式(未完待续)
1 责任链模式2 命令模式3 解释器模式4 迭代器模式5 中介者模式6 备忘录模式8 状态模式9 策略模式10 模板方法模式11 访问者模式原创 2019-06-08 00:10:00 · 146 阅读 · 0 评论 -
Python的创建型设计模式(三) 工厂方法模式
3 工厂方法模式3.1.1 原理3.1.2 运用场景3.1.3 UML3.1.4 Python实现4 原型模式4.1.1 原理4.1.2 运用场景4.1.3 UML4.1.4 Python实现5 单例模式5.1.1 原理5.1.2 运用场景5.1.3 UML5.1.4 Python实现...原创 2019-06-02 09:15:09 · 195 阅读 · 0 评论 -
Python的创建型设计模式(二) 建造者模式
2 建造者模式2.1.1 原理建造者模式与抽象工厂模式类似,都可以创建那种需要其他类组合而成的复杂对象。而建造者与抽象工厂的区别在于,它不仅提供创建复杂对象所需要的方法,而且还保存了复杂对象里各个部分的细节。优点:(1).隔离了构建的步骤和具体的实现,为产品的具体实现提供了灵活度。(2).封装和抽象了每个步骤的实现,实现了依赖倒转原则。(3).封装了具体的步骤,减少了代码的冗余。缺...原创 2019-06-01 23:46:33 · 268 阅读 · 0 评论 -
Python 的行为型设计模式(七) 观察者模式
1 责任链模式2 命令模式3 解释器模式4 迭代器模式5 中介者模式6 备忘录模式7 观察者模式8 状态模式9 策略模式10 模板方法模式11 访问者模式原创 2019-05-26 17:44:00 · 181 阅读 · 0 评论 -
Python的结构型设计模式(一) 适配器模式
1 适配器模式2 桥接模式3 组合模式4 装饰器模式5 外观模式6 享元模式7 代理模式原创 2019-07-15 00:36:51 · 224 阅读 · 0 评论 -
Python的创建型设计模式(一) 抽象工厂模式
1 抽象工厂模式1.1 经典的抽象工厂模式1.2 Python风格的抽象工厂模式2 建造者模式3 工厂方法模式4 原型模式5 单例模式原创 2019-06-02 14:31:44 · 233 阅读 · 0 评论 -
建造者模式(未完待续)
1、原理建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。与工厂模式不同,建造者模式是在导向者的控制下一步一步构造产品的2、运用场合优点:(1) 客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象。(2) 每一个具体建造者都...原创 2019-05-25 22:45:25 · 152 阅读 · 0 评论 -
抽象工厂模式
1、应用场景一般适用于产品组合产品族变化不大的情况。优点:(1)封装了产品的创建,使得不需要知道具体是哪种产品,只需要知道是哪个工厂就行了。(2)可以支持不同类型的产品,使得模式灵活性更强。(3)可以非常方便的使用一族中间的不同类型的产品。缺点:(1)结构太过臃肿,如果产品类型比较多,或者产品族类比较多,就会非常难于管理。(2)每次如果添加一组产品,那么所有的工厂类都必须添加一个方...原创 2019-05-25 10:16:04 · 123 阅读 · 0 评论 -
单例模式
1、应用场景在应用这个模式时,单例对象的类必须保证只有一个实例存在,单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等。如:(1)需要频繁实例化然后销毁的对;(2)创建对象时耗时过多或者耗资源过多,但又经常用到的对象;(3)有状态的工具类对象;(4)频繁访问数据库或文件的对象。以下都是单例模式的经典使用场...原创 2019-05-20 00:49:20 · 139 阅读 · 0 评论