标签:style blog http ar 使用 sp strong on div
策略模式将可变的部分从程序抽象分离成算法接口,在该接口下分别封装一系列算法实现。这样不同的算法之间可以互相替换,使客户端可以独立这些算法。
根据面向对象的编程思想,我们通常会采用以下方式解决问题。
优点:相同场景下代码复用率高
缺点:容易忘记代码的复写,不灵活,不同场景下代码复用率低
优点:由子类覆写父类的抽象方法,比较灵活
缺点:代码复用率低
"组合优先于继承"。在类中增加一个私有域,引用另一个已有类的实例,通过调用引用实例的方法获得新的功能,这种设计成为组合。
优点:代码复用率高,易于维护;架构灵活;富有弹性,可以较好适应变化,"开闭原则";消除大量条件语句;
缺点:在客户端程序中需要注入一个具体的strategy算法实现类,客户代码需要了解每一个策略实现的细节;增加了对象的数目。
策略模式的设计原则
策略模式实现步骤
使用场景
标签:style blog http ar 使用 sp strong on div
原文地址:http://www.cnblogs.com/cqumonk/p/4119326.html