3 模板方法模式应用实例
|
图3 银行利息计算模块结构图
[csharp] view plaincopy
- //Account.cs
- using
System; -
- namespace
TemplateMethodSample -
{
-
abstract class Account -
{ -
//基本方法——具体方法 -
public bool Validate( stringaccount, stringpassword) -
{ -
Console.WriteLine("账号:{0}", account); -
Console.WriteLine("密码:{0}", password); -
//模拟登录 -
if (account.Equals( "张无忌")&& "123456"))password.Equals( -
{ -
return true; -
} -
else -
{ -
return false; -
} -
} -
-
//基本方法——抽象方法 -
public abstract void CalculateInterest(); -
-
//基本方法——具体方法 -
public void Display() -
{ -
Console.WriteLine("显示利息!"); -
} -
-
//模板方法 -
public void Handle( stringaccount, stringpassword) -
{ -
if (!Validate(account,password)) -
{ -
Console.WriteLine("账户或密码错误!"); -
return; -
} -
CalculateInterest(); -
Display(); -
} -
} -
}
[csharp] view plaincopy
- //CurrentAccount.cs
- using
System; -
- namespace
TemplateMethodSample -
{
-
class CurrentAccount : Account -
{ -
//覆盖父类的抽象基本方法 -
public override void CalculateInterest() -
{ -
Console.WriteLine("按活期利率计算利息!"); -
} -
} -
}
[csharp] view plaincopy
- //SavingAccount.cs
- using
System; -
- namespace
TemplateMethodSample -
{
-
class SavingAccount : Account -
{ -
//覆盖父类的抽象基本方法 -
public override void CalculateInterest() -
{ -
Console.WriteLine("按定期利率计算利息!"); -
} -
} -
}
[html] view plaincopy
前一篇:模板方法模式深度解析(一)
后一篇:模板方法模式深度解析(三)
< 前一篇模板方法模式深度解析(一)
后一篇 >模板方法模式深度解析(三)