策略模式 和 工厂模式的区别


策略模式 Strategy Pattern

首先介绍一下策略模式:

策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化;

策略模式特点

一个类的行为或者算法可以在运行时更改

解决的问题

解决在一个环境下,要多种方法切换的时候,用if else麻烦。【我的理解是:如果我原来用的A算法,现在改成B,最简单的方法是,直接把 a = A算法;的下一行写成 a = B算法;一般来说,改算法要重新写代码之类的,策略模式不用,直接用生成策略法解决】

工厂模式

工厂模式特点

隐藏内部生成逻辑,用一个共同接口,生成需要的子类。

猜你喜欢

转载自www.cnblogs.com/mengxixi/p/12008513.html