program.cs

来自「GOF23种设计模式详细例子!附有详细的代码噢!」· CS 代码 · 共 64 行

CS
64
字号
using System;
using System.Collections.Generic;
using System.Text;

namespace FacadeExample
{
    class Program
    {
        static void Main(string[] args)
        {
            PayFacacde pf = new PayFacacde();
            Console.WriteLine("order:" + pf.CreateOrder("yzhu", 0, 1, 12) + " created");
        }
    }

    class PayFacacde
    {
        private AccountSystem account = new AccountSystem();
        private CardSystem card = new CardSystem();
        private PaySystem pay = new PaySystem();

        public string CreateOrder(string userName, int cardID, int cardCount, int areaID)
        {
            int userID = account.GetUserIDByUserName(userName);
            if (userID == 0)
                return string.Empty;
            if (!account.UserIsActived(userID, areaID))
                return string.Empty;
            if (!card.CardHasStock(cardID, cardCount))
                return string.Empty;
            return pay.CreateOrder(userID, cardID, cardCount);
        }
    }

    class AccountSystem
    {
        public bool UserIsActived(int userID, int areaID)
        {
            return true;
        }

        public int GetUserIDByUserName(string userName)
        {
            return 123;
        }
    }

    class CardSystem
    {
        public bool CardHasStock(int cardID, int cardCount)
        {
            return true;
        }
    }

    class PaySystem
    {
        public string CreateOrder(int userID, int cardID, int cardCount)
        {
            return "0000000001";
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?