简介
策略模式将策略(方法)与实体类相分离,使用聚合/组合替代继承。
思想:少用耦合性高的继承,尽量用聚合/组合来代替。
优点:将策略独立于实体类,策略的实现更加灵活,易于理解扩展,切换。可以避免多if else的情况。
缺点:每一个策略会对应于一个策略类,会导致类的数目增多。
策略模式将策略(方法)与实体类相分离,使用聚合/组合替代继承。
思想:少用耦合性高的继承,尽量用聚合/组合来代替。
优点:将策略独立于实体类,策略的实现更加灵活,易于理解扩展,切换。可以避免多if else的情况。
缺点:每一个策略会对应于一个策略类,会导致类的数目增多。