9 / 10
(  )模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(  )情况适合选用该模式。
①一个客户需要使用一组相关对象
②一个对象的改变需要改变其它对象    
③需要使用一个算法的不同变体
④许多相关的类仅仅是行为有异