模板方法模式深度解析(二)

3 模板方法模式应用实例

      下面通过一个应用实例来进一步学习和理解模板方法模式。

 

      1. 实例说明

      某软件公司欲为某银行的业务支撑系统开发一个利息计算模块,利息计算流程如下:

      (1) 系统根据账 和密码验证用户信息,如果用户信息错误,系统显示出错提示;

      (2) 如果用户信息正确,则根据用户类型的不同使用不同的利息计算公式计算利息(如活期账户和定期账户具有不同的利息计算公式);

      (3) 系统显示利息。

      试使用模板方法模式设计该利息计算模块。

     

       2. 实例类图

      通过分析,本实例结构图如图3所示。

3 银行利息计算模块结构图

       在图3中,Account充当抽象类角色,CurrentAccountSavingAccount充当具体子类角色。

 

       3. 实例代码

       (1) Account:账户类,充当抽象类。

       (2) CurrentAccount:活期账户类,充当具体子类。

       (3) SavingAccount:定期账户类,充当具体子类。

       (4) 配置文件App.config,在配置文件中存储了具体子类的类名。

     (5) Program:客户端测试类

       4. 结果及分析

      编译并运行程序,输出结果如下:

账 :张无忌

密码:123456

按活期利率计算利息!

显示利息!

      如果需要更换具体子类,无须修改源代码,只需修改配置文件App.config,例如将活期账户(CurrentAccount)改为定期账户(Saving Account),只需将存储在配置文件中的具体子类CurrentAccount改为SavingAccount,如下代码所示:

       重新运行客户端程序,输出结果如下:

账 :张无忌

密码:123456

按定期利率计算利息!

显示利息!

       如果需要增加新的具体子类(新的账户类型),原有代码均无须修改,完全符合开闭原则

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年11月11日
下一篇 2015年11月12日

相关推荐