策略模式(Strategy)

简介:
复制代码
 1 /*
 2  * 在图书销售时,根据不同类型的图书有不同的折扣,计算金额时必须区别对待,
 3  * 例如计算机类图书7折,英语类图书6折。应用策略模式,用C#控制台应用程序
 4  * 实现该设计。
 5  */
 6 using System;
 7 using System.Collections.Generic;
 8 using System.Linq;
 9 using System.Text;
10 
11 namespace Strategy
12 {
13     abstract class Strategy
14     {
15         public abstract double AlgorithmInterface(double Money);
16     }
17     class CSStrategy : Strategy
18     {
19           public override double AlgorithmInterface(double Money)
20         {
21             Console.WriteLine("计算机类书打七折。");
22             return (Money*0.7);
23         }
24     }
25     class EngStrategy : Strategy
26     {
27        public override double AlgorithmInterface(double Money)
28         {
29             Console.WriteLine("英语类书打六折。");
30             return (Money * 0.6);
31         }
32     }
33     class Context
34     {
35         Strategy strategy;
36         public Context(Strategy strategy)
37         {
38             this.strategy = strategy;
39         }
40         public double GetResult(double Money)
41         {
42             return strategy.AlgorithmInterface(Money);
43         }
44     }
45     class Program
46     {
47         static void Main(string[] args)
48         {
49             Context context;
50             context = new Context(new CSStrategy());
51             Console.WriteLine("需支付" + context.GetResult(100) + "");
52 
53             context = new Context(new EngStrategy());
54             Console.WriteLine("需支付" + context.GetResult(100) + "");
55         }
56     }
57 }
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/05/16/2505570.html,如需转载请自行联系原作者

相关文章
|
5月前
|
设计模式 算法
设计模式之 Strategy(策略模式)
设计模式之 Strategy(策略模式)
48 1
|
5月前
|
算法 搜索推荐 Java
策略模式 Strategy
策略模式 Strategy
66 0
|
设计模式 算法 Java
设计模式~策略模式(Strategy)-13
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。策略模式针对一组算法。定义一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们之间可以相互替换。 定义了算法族,
38 0
|
设计模式 算法 Java
Java设计模式-策略模式(Strategy)
Java设计模式-策略模式(Strategy)
|
算法 Java
行为型模式 - 策略模式(Strategy Pattern)
行为型模式 - 策略模式(Strategy Pattern)
|
设计模式 缓存 算法
行为型-Strategy
策略模式的原理与实现 策略模式的原理与实现策略模式,英文全称是 Strategy Design Pattern。在 GoF 的《设计模式》一书中,它是这样定义的: Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it. 翻译成中文就是:定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端
119 0
|
设计模式 算法 Java
浅谈JAVA设计模式之——策略模式(Strategy)
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
161 0
浅谈JAVA设计模式之——策略模式(Strategy)
|
算法 Java 设计模式