c#设计模式之外观模式

来源:互联网 发布:linux双网卡同一网段 编辑:程序博客网 时间:2024/05/20 16:01
using System;namespace ConsoleApplication{public class Customer{private string name;public Customer(string name){this.name=name;}public string Name{get{return name;}}}public class Bank{public bool HasSufficientSavings(Customer c,int amount){Console.WriteLine("check bank for "+c.Name);return true;}}public class Credit{public bool HasGoodCredit(Customer c){Console.WriteLine("check credit for "+c.Name);return true;}}public class Loan{public bool HasNoBadLoans(Customer c){Console.WriteLine("check loans for "+c.Name);return true;}}public class Mortgage{private Bank bank=new Bank();private Loan loan=new Loan();private Credit credit=new Credit();public bool IsEligible(Customer cust,int amount){Console.WriteLine("{0} applies for {1:C} loan\n");bool eligible=true;if(!bank.HasSufficientSavings(cust,amount)){eligible=false;}else if(!loan.HasNoBadLoans(cust)){eligible=false;}else if(!credit.HasGoodCredit(cust)){eligible=false;}return eligible;}}class Program{public static void Main(string[] args){Mortgage mortgate=new Mortgage();Customer customer=new Customer("Ann");bool eligable=mortgate.IsEligible(customer,1000);Console.WriteLine(customer.Name+" has been "+(eligable?"Approved":"Rejected"));Console.Write("Press any key to continue . . . ");Console.ReadKey(true);}}}

原创粉丝点击