面向对象编码的过程中,经常会遇到一种情况:对一个业务逻辑(算法实现),在不同的对象中有不同的细节实现,但是算法的框架是相同的。
Template模式提供的就是这么一个实现框架:采用继承的方式,将算法框架放在了抽象基类中,并定义好细节接口,子类去实现细节接口。
Template模式实际上利用的是面向对象的多态特性,以及算法与具体实现的解耦。以下为Template模式的UML类图。
也即BaseClass定义算法,而SonClass负责具体实现,以实现算法与实现的解耦。
面向对象编码的过程中,经常会遇到一种情况:对一个业务逻辑(算法实现),在不同的对象中有不同的细节实现,但是算法的框架是相同的。
Template模式提供的就是这么一个实现框架:采用继承的方式,将算法框架放在了抽象基类中,并定义好细节接口,子类去实现细节接口。
Template模式实际上利用的是面向对象的多态特性,以及算法与具体实现的解耦。以下为Template模式的UML类图。
也即BaseClass定义算法,而SonClass负责具体实现,以实现算法与实现的解耦。