2007-3-14 阴天
今天学习了策略模式。
策略模式主要针对一组算法,并将每个算法封装到一个独立类中,用一个环境类
对外提供统一的访问入口,具有很好的灵活性,算法类可以任意的“插拔”,最重要的是
客户端不要作任何的接口,客户端只要使用统一访问入口。将环境和算法分离开来,从代码
上看,更容维护。
使用策略模式,可以有效的避免使用多重条件选择,而多重选择不容易维护,将采取哪一种算法
的逻辑和算法行为混合在一起。策略模式合适面向对相程设计的原则。
模式涉及三个角色:
1。环境角色:持有一个抽相策略类的引用
2。抽相策略角色:一个抽相角色,通常用一个接口或抽相类实现,定义具体策略类所需的接口
3。具体策略角色:包装相关的算法和行为
一个包含策略模式的故事:
当年赵云保护刘备到吴国迎取美人,诸葛亮给了他三个锦囊,其中有三条妙计,嘱咐赵云见机行事
一是:走乔家后院。二是:求孙国太夫人。三是:请孙夫人退兵。
赵云:环境角色。 三条妙计:具体策略角色。 锦囊妙计:抽相策略模式