260 字
1 分钟
面试鸭-什么是策略模式?一般用在什么场景?
什么是策略模式?一般用在什么场景?
模版方法模式是一种行为型软件设计模式,核心的思想是定义一系列算法,然后将每一个算法封装成独立的类,并且让他们能互相替换。
简单来说,策略模式将 核心逻辑 也就是做什么 和 具体算法 也就是怎么做 分开了,使算法的变化不会影响使用它的代码。能够减少if-else、switch-case分支,每个分支变成一个类,想要用哪个就调用哪个。
策略模式一般有三个角色:
- Strategy策略接口
- ConcreteStrategy具体策略
- Context上下文
过程大概是这样子的:
- 定义策略接口,相当于定义了要做什么。
- 实现接口来实现具体策略(多个),相当于定义了具体要怎么做。
- 在上下文中,运行时动态根据情况设置策略,然后执行设置的具体策略。
完美符合开闭原则
问题
面试鸭-什么是策略模式?一般用在什么场景?
http://www.shineacz.top/posts/面试鸭-什么是策略模式一般用在什么场景/