ホームページ > バックエンド開発 > C#.Net チュートリアル > C# 設計パターン戦略パターンの例

C# 設計パターン戦略パターンの例

黄舟
リリース: 2017-03-02 13:10:34
オリジナル
1628 人が閲覧しました

カプセル化アルゴリズム

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace DesignPytternDemo
{


    /// <summary>
    /// 策略模式
    /// </summary>


    public abstract class BaseStategy
    {
        public virtual int GetTicketPrice(int price)
        {
            return price;
        }
    }




    public class CommonPersonStrategy : BaseStategy
    {
        public override int GetTicketPrice(int price)
        {
            return base.GetTicketPrice(price);
        }
    }


    public class StudentStrategy : BaseStategy
    {
        public override int GetTicketPrice(int price)
        {
            return price / 2;
        }
    }


    public class Context
    {


        private BaseStategy _context;
        public Context(string personType)
        {


            switch (personType)
            {
                case "c":
                    _context = new CommonPersonStrategy();
                    break;
                case "s":
                    _context = new StudentStrategy();
                    break;
                default:
                    break;
            }


        }


        public int GetTicketPrice(int price)
        {
            return this._context.GetTicketPrice(price);
        }
    }




}
ログイン後にコピー

上記は、C# 設計パターンの戦略パターン例の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) を参照してください。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート