本文主要是介绍[设计模式](十):策略模式(Strategy)与模板模式(Template)详解及二者间区别介绍(两种父子类行为模式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这次要说的两个模式,都是行为模式,指的是在程序运行过程中,经过经验总结的行为开发模式。
其次,行为模式再按照类与类间关系的划分,可以划分为四个类型:父子关系(2种)、独立类间关系(4种)、类自身状态(2种)、需要中间类代理(3种)。
本次所说的策略模式与模板模式,都属于父子关系的行为模式。
>什么是策略模式?
策略模式,是指将某个类运行过程中,把核心算法提取出来、封装,使得对象在针对不同的情境可以方便地更换执行策略(算法),使得算法独立变化而不影响客户端的使用。
有那么一点点抽象,那我们举个例子:
大家都接触过排序算法吧,快排桶排堆排,在针对不同的数组时表现各异,那么我们就可以把具体的Sort算法提取出来,做到算法与客户端解耦。
abstruct class SortStrategy{abstruct fun sort()
}
//具体算法的扩展,如冒泡算和快排
class BubbleSort:SortStrategy{fun sort(){//do sort}
}
class QuickSort:SortStrategy{fun sort(){//do sort}
}
</
这篇关于[设计模式](十):策略模式(Strategy)与模板模式(Template)详解及二者间区别介绍(两种父子类行为模式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!