java学习教程-设计模式之模板模式

java学习教程-设计模式之模板模式

ID:34285404

大小:87.35 KB

页数:7页

时间:2019-03-04

java学习教程-设计模式之模板模式_第1页
java学习教程-设计模式之模板模式_第2页
java学习教程-设计模式之模板模式_第3页
java学习教程-设计模式之模板模式_第4页
java学习教程-设计模式之模板模式_第5页
资源描述:

《java学习教程-设计模式之模板模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、概念:定义一个操作中的算法的骨架川各一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可中定义改算法的某些特定的步骤,简单的说,一个抽象类中有个抽象主方法,再定义1,2...n个方法,可以是抽象的也可以是实际的,再定义一个类,继承改抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用。结构图:模板方法模式(TempluteMethod)结构■■publicabstractclass©bstractClassR实現了一个模板方法•定义了算法的具体子类将電定义PriaitiveOperation以实現一个算法的步■实现Pri・i

2、tiveOpenuion以完成算法中与特定子类相关的步・•Abstractclass是一个抽象类,定义并实现了一个模板方法,父类赋值搭建一个骨架,基本的逻辑的组成步骤在相应的抽象操作中,其具体的实现由子类完成。publicabstractvoidprimitiveOperationl();publicabstractvoidprimitiveOperation2();publicvoidtemplateMethod(){primitiveOperationl();primitiveOperation2();publicclassConcre

3、teClassAextendsAbstractClass{*^OverridepublicvoidprimitiveOperationl(){System.out.printIn(类A方法1实现M);}刁^Overridepublicvoidprimitive0peration2(){System.out.printIn(”具体类A方法2实现”);}publicclassConcreteClassBextendsAbstractclass{^OverridepublicvoidprimitiveOperationl(){System.out

4、.printin(”具体类B方法1实现”);}^OverridepublicvoidprimitiveOperation2(){System・out・printin("具体类B方法2实现”);}}publicclassTest7{publicstaticvoidmain(String[]args){Abstractclassc=newConcreteClassA();c・templateMethod();c=newConcreteClassB();c・templateMethod();貝Consolex化Proble

5、Test7[Jc具体类A「方法1实现—具体类A方法2实现具体类B方法1实现具体类B方法2实现模板模式特点1、模板方法模式,是把不同的行为帮移到超类,去掉子类中的重复代码来体现它的优势。2、模板就是提供了一个很好的代码复用平台实例使用模板方法模式进行登录和参数验证相关类Abstractclass・・・>ValidateAbstractclass・->LoginValidateRequestParamsValidatepackagecom・foxtalk・interceptor.validate;publicclassValidatelnfo{

6、privateIntegervalid;privateStringurl;privateStringcheckclass;privateStringparams;privateIntegerisallow;privateStringmsg;publicIntegergetValid(){returnvalid;}publicvoidsetValid(Integervalid){this.valid=valid;}publicStringgetUrl(){returnurl;}publicvoidsetUrl(Stringurl){this・

7、url=url;}publicStringgetParams(){returnparams;}publicvoidsetParams(Stringparams){this.params=params;}publicIntegergetIsallow(){returnisallow;}publicvoidsetlsallow(lntegerisallow){this・isallow=isallow;}publicStringgetMsg(){returnmsg;}publicvoidsetMsg(Stringmsg){this・msg=msg

8、;}publicStringgetCheckclass(){returncheckclass;}publicvoidsetCheckclass(Stringcheckclass)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。