using System; namespace FacadePattern { /// /// ATM机专属门面 /// public class AtmFacade { private readonly IBankSubsystem _bankSubsystem = new BankSubsystem(); private BankAccount _account; public void Login(string no, string pwd) { _account = AccountSubsystem.Login(no, pwd); } public bool IsLogin() { return _account != null; } /// /// 取款 /// /// public void WithdrewCash(int money) { if (_bankSubsystem.WithdrewMoney(_account, money)) { Console.WriteLine("取款成功!"); AccountSubsystem.Display(_account); } } /// /// 存款 /// /// public void DepositCash(int money) { if (_bankSubsystem.DepositMoney(_account, money)) { Console.WriteLine("存款成功!"); AccountSubsystem.Display(_account); } } /// /// 查余额 /// public void QueryBalance() { if (_bankSubsystem.CheckBalance(_account) > 0) AccountSubsystem.Display(_account); } /// /// 转账 /// /// /// public void TransferMoney(string targetNo, int money) { if (_bankSubsystem.TransferMoney(_account, targetNo, money)) { Console.WriteLine("转账成功!"); AccountSubsystem.Display(_account); } } } }