zl程序教程

您现在的位置是:首页 >  后端

当前栏目

设计模式:策略模式

2023-09-14 09:11:44 时间

一、定义

策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。
策略模式使得算法可以在不影响到客户端的情况下发生变化。

策略模式 ,可以理解为  针对实现同一接口的不同的类,采用不同的算法。比如,面对高级会员、初级会员会采用不同的折扣。
策略模式,可以避免大量的if和else.

二、角色

策略模式涉及到三个角色:
●  环境(Context)角色:调用策略
●  抽象策略(Strategy)角色:抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。
●  具体策略(ConcreteStrategy)角色:实现抽象策略接口,包装了相关的算法或行为。

 

参考博客:http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html