- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                设计模式.策略模式(Strategy)
                    * 武汉科技大学  “ ” 设计模式(Design Pattern)  赵佳福 问题(Problem) 周郎妙计安天下,赔了夫人又折兵  * 周郎妙计安天下,赔了夫人又折兵  《三国演义》中,周瑜与孙权定下计谋,以孙权之妹为诱饵,骗刘备过江到东吴招亲,想趁机杀害刘备,索回荆州。诸葛亮早识破了诡计,对刘备说:“你只管去,我略用些计谋,会让周瑜一筹莫展。孙权之妹嫁给了你,荆州还会万无一失。”接着,诸葛亮令武将赵云随同并护卫刘备前往,给了赵云三个锦囊,内有三条妙计,嘱咐他依次执行即可。结果,赵云按照诸葛亮的锦囊妙计行事,不仅帮助刘备将孙权之妹孙尚香夫人迎娶回来,还得到孙权之母吴国太的欢心,陪同刘备夫妇回了荆州。周喻又气又怒,带兵追赶刘备时更遇上诸葛亮的埋伏……此即“周郎妙计安天下,赔了夫人又折兵”的有趣故事。  问题(Problem) * 周郎妙计安天下,赔了夫人又折兵  第一个锦囊:找乔国老帮忙,让吴国太给孙权施加压力 第二个锦囊:刘备乐不思蜀,谎报曹操要报赤壁大败之仇 第三个锦囊:追兵来了,孙尚香断后 问题(Problem) * 问题(Problem) *  public interface IStrategy     {         void operate();     }      public class OpenBackDoor : IStrategy      {         public void operate()         {             Console.WriteLine(找乔国老帮忙,让吴国太给孙权施加压力);         }     }      public class HappyForgetShu : IStrategy     {         public void operate()         {             Console.WriteLine(刘备乐不思蜀,谎报曹操要报赤壁大败之仇);         }     }      public class BlockEnemy : IStrategy     {         public void operate()         {             Console.WriteLine(追兵来了,孙夫人断后);         }     } 问题(Problem) *     public class Context     {         private IStrategy strategy;         public Context(IStrategy strategy)         {             this.strategy = strategy;         }          public void operation()         {             this.strategy.operate();         }     } 问题(Problem) *         static void Main(string[] args)         {             Context context;             context = new Context(new OpenBackDoor());             context.operation();              context = new Context(new HappyForgetShu());             context.operation();              context = new Context(new BlockEnemy());             context.operation();              Console.Read();         } 问题(Problem) * 主要内容 模式动机与定义 模式结构与分析 模式实例与解析 3 模式效果与应用 策略模式(Strategy) 2 1 4 * 策略模式(Strategy) 模式动机  模式名称:策略模式(Strategy) 完成一项任务,往往可以有多种不同的方式,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该项任务。 在软件开发中也常常遇到类似的情况,实现某一个功能有多个途径,此时可以使用一种设计模式来使得系统可以灵活地选择解决途径,也能够方便地增加新的解决途径。  * 模式动机  在软件系统中,有许多算法可以实现某一功能,如查找、排序等,一种常用的方法是硬编码(Hard 
                 原创力文档
原创力文档 
                         
                                    

文档评论(0)