|
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";
}
}
}
|