23种模式——策略模式
目录
策略模式
策略模式的收银软件
策略模式的特点
使用场景
优缺点
策略模式和工厂模式的结合
策略模式
本质:分离算法,选择实现。
策略模式:针对一组算法,将每一个算法封装到具有共同接口的独立的类中,使得它们可以互换。
使用策略模式可以把行为和环境分割开来。环境类负责维持和查询行为类,各种算法则在具体策略类(ConcreteStrategy)中提供。
当出现新的促销折扣或现有的折扣政策出现变化时,只需要实现新的策略类,并在客户端登记即可。
环境(Context)角色:有一个Strategy类的引用,负责和具体的策略类交互。抽象策略(Strategy)角色:通常由一个接口或抽象类实现,给出所有的具体策略类所需的接口。具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。
在策略模式中,通常是上下文使用具体的策略实现对象,反过来,策略实现对象也可以从上下文获取所需要的数据,因此可以将上下文当参数传递给策略实现对象在这种情况下,上下文封装着具体策略对象进行算法运算所需要的数据
23种模式——策略模式最先出现在Python成神之路。
共有 0 条评论