模板 方法中$0 \le l \le r define DBG(x) cerr ...
分类:
其他好文 时间:
2019-10-31 14:57:24
阅读次数:
82
一、设计模式 1、设计模式分类 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式 ...
分类:
其他好文 时间:
2019-10-28 16:26:39
阅读次数:
92
建造者模式和模板方法模式扩展篇 UML 与抽象工厂模式比较 实现 产品抽象 产品A 产品B 抽象建造者 建造者实现 建造者实现 导演类,封装实现,避免高层深入具体的建造者接触(可以有多个) 调用 ...
分类:
其他好文 时间:
2019-10-20 16:04:42
阅读次数:
121
ReentrantLock ReentrantLock是AQS中独占模式的一种实现。内部定义了一个继承了AQS类的Syn类。该类有两个子类。而Syn类定义模板方法lock()方法给子类去实现。其中一个子类是实现公平锁,另一个是实现非公平锁。 非公平锁的实现 非公平锁的实现很简单,通过CAS操作判断s ...
分类:
其他好文 时间:
2019-10-19 18:48:32
阅读次数:
86
引言 设计模式分为三种类型: 1)创建者模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式 2)结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 3)行为型模式:模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式 ...
分类:
其他好文 时间:
2019-10-18 19:20:49
阅读次数:
92
总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、 ...
分类:
其他好文 时间:
2019-10-16 11:15:23
阅读次数:
82
模板方法: 有这么一家厂家,做披萨和玩具车两种Product,并且给他们的产品装在不同的包装盒Box里,我们通过委托的方式给他们的产品装上包装盒。 产品类 包装盒类 包装车间类 这里多说一句,包装车间类里有包装产品方法WarpProduct(),这个方法的参数是委托类型的变量getPorduct, ...
分类:
其他好文 时间:
2019-10-12 10:49:40
阅读次数:
88
``` //模板方法设计模式 //抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。 //解决的问题: // 当功能内部一部分实现是确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。 // ...
分类:
其他好文 时间:
2019-10-06 16:28:30
阅读次数:
87
一、前言 最近复习发现AQS使用了模板方法,自定义同步器时需要重写几个AQS提供的模板方法,Spring的DefaultBeanDefinitionDocumentReader#doRegisterBeanDefinitions() 方法也使用了该设计模式,于是写篇文章加深理解。 模板方法模式的定义 ...
分类:
其他好文 时间:
2019-10-06 15:17:55
阅读次数:
99
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的 ...
分类:
其他好文 时间:
2019-10-05 18:46:20
阅读次数:
118