25.Strategy(行为型模式)

来源:互联网 发布:铜陵网络台袁晋明 编辑:程序博客网 时间:2024/06/10 07:49

【起源】

         某个对象的行为,可以用多种算法实现,因此考虑将算法单独封装出来(利于算法维护),在创建对象时再指定具体算法。

 

【动机】

         定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。该模式使得算法可独立于使用它的客户而变化。

 

【核心】

         对象组合的使用。

         与Bridge模式很像,但Bridge关注的是“由谁来实现”;Strategy关注的是“用哪种方式实现”;

         使用时,首先提炼会变化的算法,抽象出接口;然后将具体算法实现单独封装,实现接口;最后在类中组合该接口;

 

【代码实例】

 

 

【模型图】

原创粉丝点击